diff options
| author | Jon French | 2019-03-04 14:23:55 +0000 |
|---|---|---|
| committer | Jon French | 2019-03-04 14:23:55 +0000 |
| commit | 94d40fb68bb3d36159a006b93909fc3841c92d28 (patch) | |
| tree | 219c6d0ae7daf47cd6c8897895d182916e8f3815 | |
| parent | a7a3402ce155f13234d2d3e5198e5dbf6e0e8b82 (diff) | |
| parent | 9ed89583d52ccff151fb75424975f2ac4e627a1b (diff) | |
Merge branch 'sail2' into rmem_interpreter
64 files changed, 2854 insertions, 27828 deletions
diff --git a/aarch64_small/Makefile b/aarch64_small/Makefile index f72fe007..3a5da685 100644 --- a/aarch64_small/Makefile +++ b/aarch64_small/Makefile @@ -26,7 +26,7 @@ armV8.ml: armV8.lem ../src/lem_interp/interp_ast.lem armV8_embed.lem: $(SOURCES) ../etc/regfp2.sail aarch64_regfp.sail # also generates armV8_embed_sequential.lem, armV8_embed_types.lem, armV8_toFromInterp.lem - $(SAIL) -lem -lem_lib ArmV8_extras_embed -o armV8 $^ + $(SAIL) $(SAILFLAGS) -lem -lem_lib ArmV8_extras_embed -o armV8 $^ clean: rm -f armV8.lem armV8.ml diff --git a/aarch64_small/aarch64_regfp.sail b/aarch64_small/aarch64_regfp.sail index 0bb79f8f..55f4a16b 100644 --- a/aarch64_small/aarch64_regfp.sail +++ b/aarch64_small/aarch64_regfp.sail @@ -32,7 +32,7 @@ /* SUCH DAMAGE. */ /*========================================================================*/ -val rmem_kind : (AccType, bool) -> instruction_kind +val rmem_kind : (AccType, bool) -> instruction_kind effect {escape} function rmem_kind (acctype, exclusive) = if exclusive then match acctype { @@ -47,11 +47,12 @@ function rmem_kind (acctype, exclusive) = AccType_ATOMIC => IK_mem_read(Read_plain), AccType_STREAM => IK_mem_read(Read_stream), AccType_UNPRIV => IK_mem_read(Read_plain), - AccType_ORDERED => IK_mem_read(Read_acquire) + AccType_ORDERED => IK_mem_read(Read_acquire), + _ => exit() } -function instruction_kind wmem_kind (acctype : (AccType), exclusive : (bool)) = +function wmem_kind (acctype : (AccType), exclusive : (bool)) -> instruction_kind = if exclusive then { match acctype { AccType_ATOMIC => IK_mem_write(Write_exclusive), @@ -92,17 +93,17 @@ let PSTATE_ELfp = RFull("CurrentEL") let PSTATE_SPfp = RField("SPSel","SP") let _PCfp = RFull("_PC") -let NZCVfp = [| PSTATE_Nfp, PSTATE_Zfp, PSTATE_Cfp, PSTATE_Vfp |] +let NZCVfp : regfps = [| PSTATE_Nfp, PSTATE_Zfp, PSTATE_Cfp, PSTATE_Vfp |] -function regfps xFP(n : (reg_index)) = +function xFP(n : (reg_index)) -> regfps = if n != 31 then [|RFull(_Rs[n])|] else [| |] /* check if this is still what we want */ -function BranchToFP forall 'N, 'N in {32,64}. (iR,oR) -> (regfps,regfps) = +function BranchToFP (iR : regfps, oR : regfps) -> (regfps,regfps) = (if UsingAArch32() then iR else PSTATE_ELfp :: iR, _PCfp :: oR) -function regfps ConditionHoldsIFP(_cond : (bits(4))) = +function ConditionHoldsIFP(_cond : (bits(4))) -> regfps = match _cond[3..1] { 0b000 => [| PSTATE_Zfp |], 0b001 => [| PSTATE_Cfp |], @@ -115,41 +116,41 @@ function regfps ConditionHoldsIFP(_cond : (bits(4))) = } /* for iR if rSPFP, for oR if wSPFP */ -let rSPIFP = +let rSPIFP : regfps = /* TODO: actually this depends on runtime data: PSTATE_SP and PSTATE_EL */ [| PSTATE_SPfp, RFull("SP_EL0") |] -let wSPFP = +let wSPFP : (regfps, regfps) = /* TODO: actually this depends on runtime data: PSTATE_SP and PSTATE_EL */ ([| PSTATE_SPfp |], [| RFull("SP_EL0") |]) -let CheckSPAlignmentIFP = PSTATE_ELfp :: rSPIFP +let CheckSPAlignmentIFP : regfps = PSTATE_ELfp :: rSPIFP -let BigEndianIFP = +let BigEndianIFP : regfps = if UsingAArch32() then [| RFull("PSTATE_E") |] else [| PSTATE_ELfp |] -let wMem'IFP = BigEndianIFP -let wMemIFP = wMem'IFP +let wMem'IFP : regfps = BigEndianIFP +let wMemIFP : regfps = wMem'IFP -function initial_analysis (instr) -> (regfps,regfps,regfps,niafps,diafp,instruction_kind) = { - iR = [| |]; - oR = [| |]; - aR = [| |]; - Nias = [| NIAFP_successor |]; - Dia = DIAFP_none; - ik = IK_simple; +function initial_analysis (instr:ast) -> (regfps,regfps,regfps,niafps,diafp,instruction_kind) = { + iR : regfps = [| |]; + oR : regfps = [| |]; + aR : regfps = [| |]; + Nias : niafps = [| NIAFP_successor() |]; + Dia : diafp = DIAFP_none(); + ik : instruction_kind = IK_simple(); match instr { (TMStart(t)) => { iR = TxNestingLevelfp :: TXIDR_EL0_DEPTHfp :: iR; /* TODO: whether the following applies depends on runtime data: ~(TxNestingLevel >= TXIDR_EL0.DEPTH) */ - oR = TxNestingLevelfp :: append(oR,xFP(t)); + oR = TxNestingLevelfp :: appendL(oR,xFP(t)); ik = IK_trans(Transaction_start); }, - (TMCommit) => { + (TMCommit()) => { iR = TxNestingLevelfp :: iR; oR = TxNestingLevelfp :: oR; ik = IK_trans(Transaction_commit); @@ -158,43 +159,43 @@ function initial_analysis (instr) -> (regfps,regfps,regfps,niafps,diafp,instruct iR = TxNestingLevelfp :: iR; ik = IK_trans(Transaction_abort); }, - (TMTest) => { + (TMTest()) => { iR = TxNestingLevelfp :: iR; oR = RFull("NZCV") :: oR; }, - (CompareAndBranch(t,datasize,iszero,offset)) => { - iR = append(iR,xFP(t)); + (CompareAndBranch((t,datasize,iszero,offset))) => { + iR = appendL(iR,xFP(t)); /* TODO: whether the following applies depends on runtime data: IsZero(operand1) */ let (i,o) = BranchToFP(iR,oR) in {iR = i; oR = o}; nia' : (bits(64)) = rPC() + offset; - Nias = [| NIAFP_successor, NIAFP_concrete_address(nia') |]; - ik = IK_branch; + Nias = [| NIAFP_successor(), NIAFP_concrete_address(nia') |]; + ik = IK_branch(); }, (BranchConditional(offset,condition)) => { - iR = append(iR,ConditionHoldsIFP(condition)); + iR = appendL(iR,ConditionHoldsIFP(condition)); /* TODO: whether the following applies depends on runtime data: ConditionHolds(condition) */ let (i,o) = BranchToFP(iR,oR) in {iR = i; oR = o}; - Nias = [| NIAFP_successor, NIAFP_concrete_address(rPC() + offset) |]; - ik = IK_branch; + Nias = [| NIAFP_successor(), NIAFP_concrete_address(rPC() + offset) |]; + ik = IK_branch(); }, (GenerateExceptionEL1(imm)) => not_implemented("GenerateExceptionEL1"), (GenerateExceptionEL2(imm)) => not_implemented("GenerateExceptionEL2"), (GenerateExceptionEL3(imm)) => not_implemented("GenerateExceptionEL3"), (DebugBreakpoint(comment)) => not_implemented("DebugBreakpoint"), - (ExternalDebugBreakpoint) => not_implemented("ExternalDebugBreakpoint"), + (ExternalDebugBreakpoint()) => not_implemented("ExternalDebugBreakpoint"), (DebugSwitchToExceptionLevel(target_level)) => not_implemented("DebugSwitchToExceptionLevel"), (MoveSystemImmediate(operand,field)) => match field { PSTATEField_SP => oR = PSTATE_SPfp :: oR, PSTATEField_DAIFSet => { - iR = append(iR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); - oR = append(oR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); + iR = appendL(iR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); + oR = appendL(oR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); }, PSTATEField_DAIFClr => { - iR = append(iR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); - oR = append(oR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); + iR = appendL(iR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); + oR = appendL(oR, [| PSTATE_Dfp, PSTATE_Afp, PSTATE_Ifp, PSTATE_Ffp |]); } }, (Hint(op)) => @@ -240,114 +241,117 @@ function initial_analysis (instr) -> (regfps,regfps,regfps,niafps,diafp,instruct }; }, (System(t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result)) => { - oR = append(oR,xFP(t)); + oR = appendL(oR,xFP(t)); not_implemented("System"); /* because SysOp_R and SysOp_W */ }, (MoveSystemRegister(t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read)) => { if read then { - oR = append(oR,xFP(t)); + oR = appendL(oR,xFP(t)); match (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) { /* System_Get */ (3,3,4,2,0) => iR = RFull("NZCV") :: iR, (3,3,4,2,1) => iR = RFull("DAIF") :: iR, - (3, 3, 13, 0, 2) => iR = RFull("TPIDR_EL0") :: iR + (3, 3, 13, 0, 2) => iR = RFull("TPIDR_EL0") :: iR, /* TODO FIXME: higher EL TPIDRs */ + _ => exit() } } else { - iR = append(iR,xFP(t)); + iR = appendL(iR,xFP(t)); match (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) { /* System_Put */ (3,3,4,2,0) => oR = RFull("NZCV") :: oR, (3,3,4,2,1) => oR = RFull("DAIF") :: oR, - (3, 3, 13, 0, 2) => oR = RFull("TPIDR_EL0") :: oR + (3, 3, 13, 0, 2) => oR = RFull("TPIDR_EL0") :: oR, /* TODO FIXME: higher EL TPIDRs */ + _ => exit() } } }, (ImplementationDefinedTestBeginEnd(isEnd)) => (), - (ImplementationDefinedStopFetching) => (), - (ImplementationDefinedThreadStart) => (), - (TestBitAndBranch(t,datasize,bit_pos,bit_val,offset)) => { - iR = append(xFP(t),iR); + (ImplementationDefinedStopFetching()) => (), + (ImplementationDefinedThreadStart()) => (), + (TestBitAndBranch((t,datasize,bit_pos,bit_val,offset))) => { + iR = appendL(xFP(t),iR); /* TODO: whether the following applies depends on runtime data: operand[bit_pos] == bit_val */ let (i,o) = BranchToFP(iR,oR) in {iR = i; oR = o}; - Nias = [| NIAFP_successor, NIAFP_concrete_address(rPC() + offset) |]; - ik = IK_branch; + Nias = [| NIAFP_successor(), NIAFP_concrete_address(rPC() + offset) |]; + ik = IK_branch(); }, (BranchImmediate(branch_type,offset)) => { if branch_type == BranchType_CALL - then {iR = _PCfp :: iR; oR = append(xFP(30),oR)}; + then {iR = _PCfp :: iR; oR = appendL(xFP(30),oR)}; let (i,o) = BranchToFP(iR,oR) in {iR = i; oR = o}; Nias = [| NIAFP_concrete_address(rPC() + offset) |]; - ik = IK_branch + ik = IK_branch() }, (BranchRegister(n,branch_type)) => { - iR = append(iR,xFP(n)); + iR = appendL(iR,xFP(n)); if branch_type == BranchType_CALL - then {iR = _PCfp :: iR; oR = append(xFP(30),oR)}; + then {iR = _PCfp :: iR; oR = appendL(xFP(30),oR)}; let (i,o) = BranchToFP(iR,oR) in {iR = i; oR = o}; - Nias = if n ==31 - then [| NIAFP_concrete_address(0) |] - else [| NIAFP_indirect_address |]; - ik = IK_branch - }, - (ExceptionReturn) => not_implemented("ExceptionReturn"), - (DebugRestorePState) => not_implemented("DebugRestorePState"), - (LoadLiteral(t,memop,_signed,size,offset,datasize)) => { + Nias = if n == 31 + then [| NIAFP_concrete_address(Zeros()) |] + else [| NIAFP_indirect_address() |]; + ik = IK_branch() + }, + (ExceptionReturn()) => not_implemented("ExceptionReturn"), + (DebugRestorePState()) => not_implemented("DebugRestorePState"), + (LoadLiteral((t,memop,_signed,size,offset,datasize))) => { /* assuming rMem doesn't touch other registers */ iR = _PCfp :: iR; - oR = append(xFP(t),oR); + oR = appendL(xFP(t),oR); aR = _PCfp :: aR; match memop { MemOp_LOAD => ik = IK_mem_read(Read_plain), - MemOp_PREFETCH => {ik = IK_simple; aR = [| |]} + MemOp_PREFETCH => {ik = IK_simple(); aR = [| |]}, + _ => exit() } }, - (LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize)) => { + (LoadStoreAcqExc((n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))) => { rt_unknown : (boolean) = false; rn_unknown : (boolean) = false; if n==31 then { - iR = append(CheckSPAlignmentIFP,iR); - iR = append(rSPIFP,iR); - aR = append(rSPIFP,aR); + iR = appendL(CheckSPAlignmentIFP,iR); + iR = appendL(rSPIFP,iR); + aR = appendL(rSPIFP,aR); } else if rn_unknown then () else { - iR = append(xFP(n),iR); - aR = append(xFP(n),aR); + iR = appendL(xFP(n),iR); + aR = appendL(xFP(n),aR); }; match memop { MemOp_STORE => { if rt_unknown then () - else if pair then iR = append(xFP(t),append(xFP(t2),iR)) - else iR = append(xFP(t),iR); + else if pair then iR = appendL(xFP(t),appendL(xFP(t2),iR)) + else iR = appendL(xFP(t),iR); if excl then { /* TODO: the command below depends on runtime data: AArch64_ExclusiveMonitorsPass(address, dbytes) */ - iR = append(iR,wMemIFP); - oR = append(xFP(s),oR); + iR = appendL(iR,wMemIFP); + oR = appendL(xFP(s),oR); ik = wmem_kind(acctype,true); } else { - iR = append(iR,wMemIFP); + iR = appendL(iR,wMemIFP); ik = wmem_kind(acctype,false); } }, MemOp_LOAD => { if pair then { if rt_unknown then - oR = append(xFP(t),oR) + oR = appendL(xFP(t),oR) else if elsize == 32 then { - iR = append(iR,BigEndianIFP); - oR = append(xFP(t),append(xFP(t2),oR)); + iR = appendL(iR,BigEndianIFP); + oR = appendL(xFP(t),appendL(xFP(t2),oR)); } else { - oR = append(xFP(t),append(xFP(t2),oR)) + oR = appendL(xFP(t),appendL(xFP(t2),oR)) }; ik = rmem_kind(acctype,true); } else { - oR = append(xFP(t),oR); + oR = appendL(xFP(t),oR); ik = rmem_kind(acctype,excl); } @@ -355,245 +359,248 @@ function initial_analysis (instr) -> (regfps,regfps,regfps,niafps,diafp,instruct MemOp_PREFETCH => aR = [| |] } }, - (LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset)) => { + (LoadStorePairNonTemp((wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset))) => { rt_unknown : (boolean) = false; if n == 31 then { - iR = append(CheckSPAlignmentIFP,iR); - iR = append(rSPIFP,iR); - aR = append(rSPIFP,aR); + iR = appendL(CheckSPAlignmentIFP,iR); + iR = appendL(rSPIFP,iR); + aR = appendL(rSPIFP,aR); } else { - iR = append(xFP(n),iR); - aR = append(xFP(n),aR); + iR = appendL(xFP(n),iR); + aR = appendL(xFP(n),aR); }; if wback then { if n == 31 then let (i,o) = wSPFP in { - iR = append(i,iR); - oR = append(o,oR); + iR = appendL(i,iR); + oR = appendL(o,oR); } else - oR = append(xFP(n),oR); + oR = appendL(xFP(n),oR); }; match memop { MemOp_STORE => { if rt_unknown & t == n then () - else iR = append(xFP(t),iR); + else iR = appendL(xFP(t),iR); if rt_unknown & t2 == n then () - else iR = append(xFP(t2),iR); - iR = append(wMemIFP,iR); + else iR = appendL(xFP(t2),iR); + iR = appendL(wMemIFP,iR); ik = wmem_kind(acctype,false); }, MemOp_LOAD => { - oR = append(xFP(t),append(xFP(t2),oR)); + oR = appendL(xFP(t),appendL(xFP(t2),oR)); ik = rmem_kind(acctype,false); - } + }, + _ => exit() } }, - (LoadImmediate(n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize)) => { + (LoadImmediate((n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize))) => { wb_unknown : (boolean) = false; rt_unknown : (boolean) = false; if n == 31 then { - iR = append(CheckSPAlignmentIFP,iR); - iR = append(rSPIFP,iR); - aR = append(rSPIFP,aR); + iR = appendL(CheckSPAlignmentIFP,iR); + iR = appendL(rSPIFP,iR); + aR = appendL(rSPIFP,aR); } else { - iR = append(xFP(n),iR); - aR = append(xFP(n),aR); + iR = appendL(xFP(n),iR); + aR = appendL(xFP(n),aR); }; if wback then { if n == 31 then - let (i,o) = wSPFP in {iR = append(i,iR); oR = append(o,oR)} - else oR = append(xFP(n),oR); + let (i,o) = wSPFP in {iR = appendL(i,iR); oR = appendL(o,oR)} + else oR = appendL(xFP(n),oR); }; match memop { MemOp_STORE => { if rt_unknown then () - else iR = append(xFP(t),iR); - iR = append(wMemIFP,iR); + else iR = appendL(xFP(t),iR); + iR = appendL(wMemIFP,iR); ik = wmem_kind(acctype,false); }, MemOp_LOAD => { - oR = append(xFP(t),oR); + oR = appendL(xFP(t),oR); ik = rmem_kind(acctype,false); }, MemOp_PREFETCH => aR = [| |] } }, - (LoadRegister(n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize)) => { - iR = append(xFP(m),iR); - aR = append(xFP(m),aR); + (LoadRegister((n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize))) => { + iR = appendL(xFP(m),iR); + aR = appendL(xFP(m),aR); wb_unknown : (boolean) = false; rt_unknown : (boolean) = false; if n == 31 then { - iR = append(CheckSPAlignmentIFP,iR); - iR = append(rSPIFP,iR); - aR = append(rSPIFP,aR); + iR = appendL(CheckSPAlignmentIFP,iR); + iR = appendL(rSPIFP,iR); + aR = appendL(rSPIFP,aR); } else { - iR = append(xFP(n),iR); - aR = append(xFP(n),aR); + iR = appendL(xFP(n),iR); + aR = appendL(xFP(n),aR); }; if wback then { - if n == 31 then let (i,o) = wSPFP in {iR = append(i,iR); oR = append(o,oR)} - else oR = append(xFP(n),oR); + if n == 31 then let (i,o) = wSPFP in {iR = appendL(i,iR); oR = appendL(o,oR)} + else oR = appendL(xFP(n),oR); }; match memop { MemOp_STORE => { if rt_unknown then () - else iR = append(xFP(t),iR); - iR = append(wMemIFP,iR); + else iR = appendL(xFP(t),iR); + iR = appendL(wMemIFP,iR); ik = wmem_kind(acctype,false); }, MemOp_LOAD => { - oR = append(xFP(t),oR); + oR = appendL(xFP(t),oR); ik = rmem_kind(acctype,false); }, MemOp_PREFETCH => aR = [| |] } }, - (LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset)) => { + (LoadStorePair((wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset))) => { rt_unknown : (boolean) = false; wb_unknown : (boolean) = false; if n == 31 then { - iR = append(CheckSPAlignmentIFP,iR); - iR = append(rSPIFP,iR); - aR = append(rSPIFP,aR); + iR = appendL(CheckSPAlignmentIFP,iR); + iR = appendL(rSPIFP,iR); + aR = appendL(rSPIFP,aR); } else { - iR = append(xFP(n),iR); - aR = append(xFP(n),aR); + iR = appendL(xFP(n),iR); + aR = appendL(xFP(n),aR); }; if wback then { - if n == 31 then let (i,o) = wSPFP in {iR = append(i,iR); oR = append(o,oR)} - else oR = append(xFP(n),oR); + if n == 31 then let (i,o) = wSPFP in {iR = appendL(i,iR); oR = appendL(o,oR)} + else oR = appendL(xFP(n),oR); }; match memop { MemOp_STORE => { if rt_unknown & t == n then () - else iR = append(xFP(t),iR); + else iR = appendL(xFP(t),iR); if rt_unknown & t2 == n then () - else iR = append(xFP(t2),iR); - iR = append(wMemIFP,iR); + else iR = appendL(xFP(t2),iR); + iR = appendL(wMemIFP,iR); ik = wmem_kind(acctype,false); }, MemOp_LOAD => { - oR = append(xFP(t),oR); - oR = append(xFP(t2),oR); + oR = appendL(xFP(t),oR); + oR = appendL(xFP(t2),oR); ik = rmem_kind(acctype,false); - } + }, + _ => exit() } }, - (AddSubImmediate(d,n,datasize,sub_op,setflags,imm)) => { - iR = append(if n == 31 then rSPIFP else xFP(n),iR); - if setflags then oR = append(NZCVfp,oR); + (AddSubImmediate((d,n,datasize,sub_op,setflags,imm))) => { + iR = appendL(if n == 31 then rSPIFP else xFP(n),iR); + if setflags then oR = appendL(NZCVfp,oR); if d ==31 & ~(setflags) then let (i,o) = wSPFP in - { iR = append(i,iR); - oR = append(o,oR) } - else oR = append(xFP(d),oR) - }, - (BitfieldMove(d,n,datasize,inzero,extend,R,S,wmask,tmask)) => { - if inzero then () else iR= append(xFP(d),iR); - iR = append(xFP(n),iR); - oR = append(xFP(d),oR); - }, - (ExtractRegister(d,n,m,datasize,lsb)) => { - iR = append(xFP(n),append(xFP(m),iR)); - oR = append(xFP(d),oR); - }, - (LogicalImmediate(d,n,datasize,setflags,op,imm)) => { - iR = append(xFP(n),iR); - if setflags then oR = append(NZCVfp,oR); + { iR = appendL(i,iR); + oR = appendL(o,oR) } + else oR = appendL(xFP(d),oR) + }, + (BitfieldMove((d,n,datasize,inzero,extend,R,S,wmask,tmask))) => { + if inzero then () else iR= appendL(xFP(d),iR); + iR = appendL(xFP(n),iR); + oR = appendL(xFP(d),oR); + }, + (ExtractRegister((d,n,m,datasize,lsb))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + oR = appendL(xFP(d),oR); + }, + (LogicalImmediate((d,n,datasize,setflags,op,imm))) => { + iR = appendL(xFP(n),iR); + if setflags then oR = appendL(NZCVfp,oR); if d ==31 & ~(setflags) then let (i,o) = wSPFP in - { iR = append(i,iR); oR = append(o,oR) } - else oR = append(xFP(d),oR) + { iR = appendL(i,iR); oR = appendL(o,oR) } + else oR = appendL(xFP(d),oR) }, - (MoveWide(d,datasize,imm,pos,opcode)) => { - if opcode == MoveWideOp_K then iR = append(xFP(d),iR); - oR = append(xFP(d),oR); + (MoveWide((d,datasize,imm,pos,opcode))) => { + if opcode == MoveWideOp_K then iR = appendL(xFP(d),iR); + oR = appendL(xFP(d),oR); }, (Address(d,page,imm)) => { iR = _PCfp :: iR; - oR = append(xFP(d),oR); + oR = appendL(xFP(d),oR); }, - (AddSubExtendRegister(d,n,m,datasize,sub_op,setflags,extend_type,shift)) => { - iR = append(if n == 31 then rSPIFP else xFP(n),iR); - iR = append(xFP(m),iR); - if setflags then oR = append(NZCVfp,oR); + (AddSubExtendRegister((d,n,m,datasize,sub_op,setflags,extend_type,shift))) => { + iR = appendL(if n == 31 then rSPIFP else xFP(n),iR); + iR = appendL(xFP(m),iR); + if setflags then oR = appendL(NZCVfp,oR); if d ==31 & ~(setflags) then let (i,o) = wSPFP in - { iR = append(i,iR); oR = append(o,oR) } - else oR = append(xFP(d),oR) + { iR = appendL(i,iR); oR = appendL(o,oR) } + else oR = appendL(xFP(d),oR) }, - (AddSubShiftedRegister(d,n,m,datasize,sub_op,setflags,shift_type,shift_amount)) => { - iR = append(xFP(n),append(xFP(m),iR)); - if setflags then oR = append(NZCVfp,oR); - oR = append(xFP(d),oR); + (AddSubShiftedRegister((d,n,m,datasize,sub_op,setflags,shift_type,shift_amount))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + if setflags then oR = appendL(NZCVfp,oR); + oR = appendL(xFP(d),oR); }, - (AddSubCarry(d,n,m,datasize,sub_op,setflags)) => { - iR = append(xFP(n),append(xFP(m),iR)); + (AddSubCarry((d,n,m,datasize,sub_op,setflags))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); iR = PSTATE_Cfp :: iR; - if setflags then oR = append(NZCVfp,oR); - oR = append(xFP(d),oR); - }, - (ConditionalCompareImmediate(n,datasize,sub_op,condition,flags,imm)) => { - iR = append(xFP(n),iR); - iR = append(ConditionHoldsIFP(condition),iR); - oR = append(NZCVfp,oR); - }, - (ConditionalCompareRegister(n,m,datasize,sub_op,condition,flags)) => { - iR = append(xFP(n),append(xFP(m),iR)); - iR = append(ConditionHoldsIFP(condition),iR); - oR = append(NZCVfp,oR); - }, - (ConditionalSelect(d,n,m,datasize,condition,else_inv,else_inc)) => { - iR = append(xFP(n),append(xFP(m),iR)); - iR = append(ConditionHoldsIFP(condition),iR); - oR = append(xFP(d),oR); - }, - (Reverse(d,n,datasize,op)) => { - iR = append(xFP(n),iR); - oR = append(xFP(d),oR); - }, - (CountLeading(d,n,datasize,opcode)) => { - iR = append(xFP(n),iR); - oR = append(xFP(d),oR); - }, - (Division(d,n,m,datasize,_unsigned)) => { - iR = append(xFP(n),append(xFP(m),iR)); - oR = append(xFP(d),oR); - }, - (Shift(d,n,m,datasize,shift_type)) => { - iR = append(xFP(m),iR); - iR = append(xFP(n),iR); - oR = append(xFP(d),oR); - }, - (CRC(d,n,m,size,crc32c)) => { - iR = append(xFP(n),append(xFP(m),iR)); - oR = append(xFP(d),oR); - }, - (MultiplyAddSub(d,n,m,a,destsize,datasize,sub_op)) => { - iR = append(xFP(n),iR); - iR = append(xFP(m),iR); - iR = append(xFP(a),iR); - oR = append(xFP(d),oR); - }, - (MultiplyAddSubLong(d,n,m,a,destsize,datasize,sub_op,_unsigned)) => { - iR = append(xFP(n),iR); - iR = append(xFP(m),iR); - iR = append(xFP(a),iR); - oR = append(xFP(d),oR); - }, - (MultiplyHigh(d,n,m,a,destsize,datasize,_unsigned)) => { - iR = append(xFP(n),append(xFP(m),iR)); - oR = append(xFP(d),oR); - }, - (LogicalShiftedRegister(d,n,m,datasize,setflags,op,shift_type,shift_amount,invert)) => { - iR = append(xFP(n),append(xFP(m),iR)); - if setflags then oR = append(NZCVfp,oR); - oR = append(xFP(d),oR); - } + if setflags then oR = appendL(NZCVfp,oR); + oR = appendL(xFP(d),oR); + }, + (ConditionalCompareImmediate((n,datasize,sub_op,condition,flags,imm))) => { + iR = appendL(xFP(n),iR); + iR = appendL(ConditionHoldsIFP(condition),iR); + oR = appendL(NZCVfp,oR); + }, + (ConditionalCompareRegister((n,m,datasize,sub_op,condition,flags))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + iR = appendL(ConditionHoldsIFP(condition),iR); + oR = appendL(NZCVfp,oR); + }, + (ConditionalSelect((d,n,m,datasize,condition,else_inv,else_inc))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + iR = appendL(ConditionHoldsIFP(condition),iR); + oR = appendL(xFP(d),oR); + }, + (Reverse((d,n,datasize,op))) => { + iR = appendL(xFP(n),iR); + oR = appendL(xFP(d),oR); + }, + (CountLeading((d,n,datasize,opcode))) => { + iR = appendL(xFP(n),iR); + oR = appendL(xFP(d),oR); + }, + (Division((d,n,m,datasize,_unsigned))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + oR = appendL(xFP(d),oR); + }, + (Shift((d,n,m,datasize,shift_type))) => { + iR = appendL(xFP(m),iR); + iR = appendL(xFP(n),iR); + oR = appendL(xFP(d),oR); + }, + (CRC((d,n,m,size,crc32c))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + oR = appendL(xFP(d),oR); + }, + (MultiplyAddSub((d,n,m,a,destsize,datasize,sub_op))) => { + iR = appendL(xFP(n),iR); + iR = appendL(xFP(m),iR); + iR = appendL(xFP(a),iR); + oR = appendL(xFP(d),oR); + }, + (MultiplyAddSubLong((d,n,m,a,destsize,datasize,sub_op,_unsigned))) => { + iR = appendL(xFP(n),iR); + iR = appendL(xFP(m),iR); + iR = appendL(xFP(a),iR); + oR = appendL(xFP(d),oR); + }, + (MultiplyHigh((d,n,m,a,destsize,datasize,_unsigned))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + oR = appendL(xFP(d),oR); + }, + (LogicalShiftedRegister((d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) => { + iR = appendL(xFP(n),appendL(xFP(m),iR)); + if setflags then oR = appendL(NZCVfp,oR); + oR = appendL(xFP(d),oR); + }, + Unallocated() => exit() }; (iR,oR,aR,Nias,Dia,ik) } diff --git a/aarch64_small/armV8.h.sail b/aarch64_small/armV8.h.sail index 30309e30..ab69f323 100644 --- a/aarch64_small/armV8.h.sail +++ b/aarch64_small/armV8.h.sail @@ -137,8 +137,8 @@ let _R : vector(31,dec,register(bits(64))) = /* val reg_index : reg_size -> UInt_reg effect pure */ /* function reg_index x = (x : (reg_index)) */ -val reg_index : reg_size -> reg_index -function reg_index x = unsigned(x) +val UInt_reg : reg_size -> reg_index +function UInt_reg x = unsigned(x) /* SIMD and floating-point registers */ @@ -223,19 +223,26 @@ function lsl (n, m) = n * (2 ^ m) /* not_implemented is used to indicate something WE did not implement */ val not_implemented : forall ('a : Type). string -> 'a effect { escape } -function not_implemented message = exit () /* TODO message */ +function not_implemented(message) = { + print(message); + exit () +} /* not_implemented_extern is used to indicate something ARM did not define and we did not define yet either. Those functions used to be declared as external but undefined there. */ /* val not_implemented_extern : forall 'a. string -> 'a effect { escape } */ val not_implemented_extern : forall ('a : Type). string -> 'a effect { escape } -function not_implemented_extern (message) = - exit () /* message; TODO */ +function not_implemented_extern (message) = { + print(message); + exit () +} /* info is used to convey information to the user */ val info : string -> unit effect pure -function info(message) = () +function info(message) = { + print(message) +} struct IMPLEMENTATION_DEFINED_type = { HaveCRCExt : boolean, @@ -259,6 +266,8 @@ let IMPLEMENTATION_DEFINED : IMPLEMENTATION_DEFINED_type = struct { /* FIXME: ask Kathy what should we do with this */ let UNKNOWN = 0 - +val UNKNOWN_BITS: forall 'N, 'N >= 0. implicit('N) -> bits('N) +function UNKNOWN_BITS(N) = (replicate_bits(0b0, 'N)) : bits('N) +let UNKNOWN_BIT = b0 /* external */ val speculate_exclusive_success : unit -> bool effect {exmem} diff --git a/aarch64_small/armV8.lem b/aarch64_small/armV8.lem deleted file mode 100644 index c1ae6726..00000000 --- a/aarch64_small/armV8.lem +++ /dev/null @@ -1,6925 +0,0 @@ -(* Generated by Sail from armV8.sail. *) -open import Interp_ast -open import Pervasives -(*Supply common numeric constants at the right type to alleviate repeated calls to typeclass macro*) -let zero : integer = integerFromNat 0 -let one : integer = integerFromNat 1 -let two : integer = integerFromNat 2 -let three : integer = integerFromNat 3 -let four : integer = integerFromNat 4 -let five : integer = integerFromNat 5 -let six : integer = integerFromNat 6 -let seven : integer = integerFromNat 7 -let eight : integer = integerFromNat 8 -let fifteen : integer = integerFromNat 15 -let sixteen : integer = integerFromNat 16 -let twenty : integer = integerFromNat 20 -let twentythree : integer = integerFromNat 23 -let twentyfour : integer = integerFromNat 24 -let thirty : integer = integerFromNat 30 -let thirtyone : integer = integerFromNat 31 -let thirtytwo : integer = integerFromNat 32 -let thirtyfive : integer = integerFromNat 35 -let thirtynine : integer = integerFromNat 39 -let forty : integer = integerFromNat 40 -let fortyseven : integer = integerFromNat 47 -let fortyeight : integer = integerFromNat 48 -let fiftyfive : integer = integerFromNat 55 -let fiftysix : integer = integerFromNat 56 -let fiftyseven : integer = integerFromNat 57 -let sixtyone : integer = integerFromNat 61 -let sixtythree : integer = integerFromNat 63 -let sixtyfour : integer = integerFromNat 64 -let onetwentyseven : integer = integerFromNat 127 -let onetwentyeight : integer = integerFromNat 128 -let defs = Defs [ -(DEF_default (DT_aux (DT_order (Ord_aux Ord_dec Unknown)) Unknown)); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "boolean") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "integer") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "int") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "uinteger") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "reg_size") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "reg_index") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "SIMD_index") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_PC") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TMSTATUS_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 16) Unknown), (Id_aux (Id "IMP") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "DBG") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "MEM") Unknown)); ((BF_aux (BF_single 13) Unknown), (Id_aux (Id "ERR") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "INV") Unknown)); ((BF_aux (BF_single 11) Unknown), (Id_aux (Id "SIZE") Unknown)); ((BF_aux (BF_single 10) Unknown), (Id_aux (Id "NEST") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "ABRT") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "RTRY") Unknown)); ((BF_aux (BF_range 4 0) Unknown), (Id_aux (Id "REASON") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TMSTATUS_type") Unknown)) Unknown) (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TMSTATUS_type") Unknown)) Unknown) (Id_aux (Id "TMStartEffect") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMStartEffect")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R30") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R30")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R29") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R29")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R28") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R28")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R27") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R27")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R26") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R26")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R25") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R25")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R24") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R24")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R23") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R23")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R22") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R22")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R21") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R21")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R20") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R20")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R19") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R19")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R18") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R18")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R17") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R17")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R16") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R16")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R15") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R15")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R14") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R14")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R13") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R13")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R12") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R12")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R11") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R11")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R10") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R10")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R9") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R9")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R8") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R8")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R7") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R7")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R6") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R6")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R5") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R5")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R4") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R4")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_undef Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R30") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R29") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R28") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R27") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R26") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R25") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R24") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R23") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R22") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R21") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R20") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R19") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R18") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R17") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R16") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R15") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R14") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R13") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R12") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R11") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R10") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R9") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R8") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R7") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R6") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R5") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R4") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "R0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UInt_reg") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))) (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V31") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V31")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V30") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V30")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V29") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V29")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V28") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V28")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V27") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V27")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V26") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V26")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V25") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V25")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V24") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V24")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V23") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V23")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V22") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V22")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V21") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V21")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V20") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V20")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V19") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V19")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V18") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V18")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V17") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V17")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V16") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V16")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V15") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V15")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V14") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V14")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V13") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V13")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V12") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V12")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V11") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V11")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V10") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V10")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V9") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V9")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V8") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V8")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V7") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V7")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V6") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V6")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V5") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V5")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V4") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V4")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_undef Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V31") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V30") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V29") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V28") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V27") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V26") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V25") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V24") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V23") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V22") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V21") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V20") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V19") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V18") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V17") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V16") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V15") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V14") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V13") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V12") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V11") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V10") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V9") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V8") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V7") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V6") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V5") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V4") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "V0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'m") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'n") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'m") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'n") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'n") Unknown)) Unknown) (Nexp_aux (Nexp_exp (Nexp_aux (Nexp_var (Kid_aux (Var "'m") Unknown)) Unknown)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "lsl") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "**") Unknown) (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_exp (Ne_var "'nv21")))])), (Tag_extern (Just "power")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv7") (Ne_var "'nv8")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'n") (Ne_exp (Ne_var "'m"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))]))]) (T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'n") (Ne_exp (Ne_var "'m"))))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "not_implemented") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_exit (E_aux (E_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_none (Kid_aux (Var "'a") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_var (Kid_aux (Var "'a") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "not_implemented_extern") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_exit (E_aux (E_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "'tv0"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_var "'tv0"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_var "'tv0"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_var "'tv0") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "info") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "IMPLEMENTATION_DEFINED_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveCRCExt") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveAArch32EL") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveAnyAArch32") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveEL2") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveEL3") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HighestELUsingAArch32") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "IsSecureBelowEL3") Unknown));] false) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "HaveCRCExt") Unknown) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveAArch32EL") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveAnyAArch32") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveEL2") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveEL3") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HighestELUsingAArch32") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "IsSecureBelowEL3") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "speculate_exclusive_success") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "HCR_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 33) Unknown), (Id_aux (Id "ID") Unknown)); ((BF_aux (BF_single 32) Unknown), (Id_aux (Id "CD") Unknown)); ((BF_aux (BF_single 31) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "TRVM") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "HCD") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "TDZ") Unknown)); ((BF_aux (BF_single 27) Unknown), (Id_aux (Id "TGE") Unknown)); ((BF_aux (BF_single 26) Unknown), (Id_aux (Id "TVM") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "TTLB") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "TPU") Unknown)); ((BF_aux (BF_single 23) Unknown), (Id_aux (Id "TPC") Unknown)); ((BF_aux (BF_single 22) Unknown), (Id_aux (Id "TSW") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "TACR") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "TIDCP") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "TSC") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "TID3") Unknown)); ((BF_aux (BF_single 17) Unknown), (Id_aux (Id "TID2") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "TID1") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "TID0") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "TWE") Unknown)); ((BF_aux (BF_single 13) Unknown), (Id_aux (Id "TWI") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "DC") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "BSU") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "FB") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "VSE") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "VI") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "VF") Unknown)); ((BF_aux (BF_single 5) Unknown), (Id_aux (Id "AMO") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "IMO") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "FMO") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "PTW") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "SWIO") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "VM") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "HCR_type") Unknown)) Unknown) (Id_aux (Id "HCR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "HCR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "ID_AA64MMFR0_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 31 28) Unknown), (Id_aux (Id "TGran4") Unknown)); ((BF_aux (BF_range 27 24) Unknown), (Id_aux (Id "TGran64") Unknown)); ((BF_aux (BF_range 23 20) Unknown), (Id_aux (Id "TGran16") Unknown)); ((BF_aux (BF_range 19 16) Unknown), (Id_aux (Id "BigEndEL0") Unknown)); ((BF_aux (BF_range 15 12) Unknown), (Id_aux (Id "SNSMem") Unknown)); ((BF_aux (BF_range 11 8) Unknown), (Id_aux (Id "BigEnd") Unknown)); ((BF_aux (BF_range 7 4) Unknown), (Id_aux (Id "ASIDBits") Unknown)); ((BF_aux (BF_range 3 0) Unknown), (Id_aux (Id "PARange") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "ID_AA64MMFR0_type") Unknown)) Unknown) (Id_aux (Id "ID_AA64MMFR0_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "ID_AA64MMFR0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "ID_AA64MMFR0_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCRType") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 13) Unknown), (Id_aux (Id "TWE") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "TWI") Unknown)); ((BF_aux (BF_single 11) Unknown), (Id_aux (Id "ST") Unknown)); ((BF_aux (BF_single 10) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "SIF") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "HCE") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "SMD") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "EA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "FIQ") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "IRQ") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "NS") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Id_aux (Id "SCR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCTLR_EL1_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 26) Unknown), (Id_aux (Id "UCI") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "EE") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "E0E") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "WXN") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "nTWE") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "nTWI") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "UCT") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "DZE") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "UMA") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "SED") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "ITD") Unknown)); ((BF_aux (BF_single 5) Unknown), (Id_aux (Id "CP15BEN") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "SA0") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "SA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "M") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_EL1_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCTLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 25) Unknown), (Id_aux (Id "EE") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "WXN") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "SA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "M") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TCR_EL1_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 38) Unknown), (Id_aux (Id "TBI1") Unknown)); ((BF_aux (BF_single 37) Unknown), (Id_aux (Id "TBI0") Unknown)); ((BF_aux (BF_single 36) Unknown), (Id_aux (Id "AS") Unknown)); ((BF_aux (BF_range 34 32) Unknown), (Id_aux (Id "IPS") Unknown)); ((BF_aux (BF_range 31 30) Unknown), (Id_aux (Id "TG1") Unknown)); ((BF_aux (BF_range 29 28) Unknown), (Id_aux (Id "SH1") Unknown)); ((BF_aux (BF_range 27 26) Unknown), (Id_aux (Id "ORGN1") Unknown)); ((BF_aux (BF_range 25 24) Unknown), (Id_aux (Id "IRGN1") Unknown)); ((BF_aux (BF_single 23) Unknown), (Id_aux (Id "EPD1") Unknown)); ((BF_aux (BF_single 22) Unknown), (Id_aux (Id "A1") Unknown)); ((BF_aux (BF_range 21 16) Unknown), (Id_aux (Id "T1SZ") Unknown)); ((BF_aux (BF_range 15 14) Unknown), (Id_aux (Id "TG0") Unknown)); ((BF_aux (BF_range 13 12) Unknown), (Id_aux (Id "SH0") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "ORGN0") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "IRGN0") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "EPD0") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "T0SZ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_EL1_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 20) Unknown), (Id_aux (Id "TBI") Unknown)); ((BF_aux (BF_range 18 16) Unknown), (Id_aux (Id "PS") Unknown)); ((BF_aux (BF_range 15 14) Unknown), (Id_aux (Id "TG0") Unknown)); ((BF_aux (BF_range 13 12) Unknown), (Id_aux (Id "SH0") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "ORGN0") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "IRGN0") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "T0SZ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DBGPRCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "CORENPDRQ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGPRCR_type") Unknown)) Unknown) (Id_aux (Id "DBGPRCR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGPRCR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "OSDLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "DLK") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "OSDLR_type") Unknown)) Unknown) (Id_aux (Id "OSDLR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "OSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "OSDLR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "EDSCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 30) Unknown), (Id_aux (Id "RXfull") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "TXfull") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "ITO") Unknown)); ((BF_aux (BF_single 27) Unknown), (Id_aux (Id "RXO") Unknown)); ((BF_aux (BF_single 26) Unknown), (Id_aux (Id "TXU") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "PipeAdv") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "ITE") Unknown)); ((BF_aux (BF_range 23 22) Unknown), (Id_aux (Id "INTdis") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "TDA") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "MA") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "NS") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "SDD") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "HDE") Unknown)); ((BF_aux (BF_range 13 10) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "EL") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "ERR") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "STATUS") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "EDSCR_type") Unknown)) Unknown) (Id_aux (Id "EDSCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "EDSCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TXIDR_EL0_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 7 0) Unknown), (Id_aux (Id "DEPTH") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TXIDR_EL0_type") Unknown)) Unknown) (Id_aux (Id "TXIDR_EL0") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TXIDR_EL0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TXIDR_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetControlRegisters") Unknown) (P_aux (P_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "CurrentEL_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 3 2) Unknown), (Id_aux (Id "EL") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "CurrentEL_type") Unknown)) Unknown) (Id_aux (Id "CurrentEL") Unknown)) (Unknown,(Just ((T_abbrev (T_id "CurrentEL_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DAIF_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 9) Unknown), (Id_aux (Id "D") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "F") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DAIF_type") Unknown)) Unknown) (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "NZCV_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 31) Unknown), (Id_aux (Id "N") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "Z") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "V") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "NZCV_type") Unknown)) Unknown) (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SPSel_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "SP") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSel_type") Unknown)) Unknown) (Id_aux (Id "SPSel") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSel_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SPSR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 31) Unknown), (Id_aux (Id "N") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "Z") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "V") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "SS") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "IL") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "E") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "F") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "M4") Unknown)); ((BF_aux (BF_range 3 0) Unknown), (Id_aux (Id "M3_0") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Id_aux (Id "SCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DBGOSDLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "DLK") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGOSDLR_type") Unknown)) Unknown) (Id_aux (Id "DBGOSDLR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGOSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGOSDLR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGPRCR_type") Unknown)) Unknown) (Id_aux (Id "DBGPRCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGPRCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_N") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "N") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_Z") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "Z") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_C") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "C") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_V") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "V") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_D") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "D") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_A") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "A") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_I") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "I") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_F") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "F") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_EL") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "CurrentEL") Unknown)) (Unknown,(Just ((T_abbrev (T_id "CurrentEL_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "EL") Unknown)) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_nRW") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_SP") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "SPSel") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSel_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SP") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_E") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_E")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_M") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_M")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wPSTATE_NZCV") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wPSTATE_DAIF") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "f") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "f") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "AccType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "AccType_NORMAL") Unknown); (Id_aux (Id "AccType_VEC") Unknown); (Id_aux (Id "AccType_STREAM") Unknown); (Id_aux (Id "AccType_VECSTREAM") Unknown); (Id_aux (Id "AccType_ATOMIC") Unknown); (Id_aux (Id "AccType_ORDERED") Unknown); (Id_aux (Id "AccType_UNPRIV") Unknown); (Id_aux (Id "AccType_IFETCH") Unknown); (Id_aux (Id "AccType_PTW") Unknown); (Id_aux (Id "AccType_DC") Unknown); (Id_aux (Id "AccType_IC") Unknown); (Id_aux (Id "AccType_AT") Unknown)] false) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MBReqDomain") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MBReqDomain_Nonshareable") Unknown); (Id_aux (Id "MBReqDomain_InnerShareable") Unknown); (Id_aux (Id "MBReqDomain_OuterShareable") Unknown); (Id_aux (Id "MBReqDomain_FullSystem") Unknown)] false) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MBReqTypes") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MBReqTypes_Reads") Unknown); (Id_aux (Id "MBReqTypes_Writes") Unknown); (Id_aux (Id "MBReqTypes_All") Unknown)] false) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "BranchType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "BranchType_CALL") Unknown); (Id_aux (Id "BranchType_ERET") Unknown); (Id_aux (Id "BranchType_DBGEXIT") Unknown); (Id_aux (Id "BranchType_RET") Unknown); (Id_aux (Id "BranchType_JMP") Unknown); (Id_aux (Id "BranchType_EXCEPTION") Unknown); (Id_aux (Id "BranchType_UNKNOWN") Unknown)] false) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MoveWideOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MoveWideOp_N") Unknown); (Id_aux (Id "MoveWideOp_Z") Unknown); (Id_aux (Id "MoveWideOp_K") Unknown)] false) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_User") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_FIQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_IRQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Svc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Monitor") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Abort") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Hyp") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Undef") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_System") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "DeviceType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "DeviceType_GRE") Unknown); (Id_aux (Id "DeviceType_nGRE") Unknown); (Id_aux (Id "DeviceType_nGnRE") Unknown); (Id_aux (Id "DeviceType_nGnRnE") Unknown)] false) (Unknown, (Just ((T_id "DeviceType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "Fault") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "Fault_None") Unknown); (Id_aux (Id "Fault_AccessFlag") Unknown); (Id_aux (Id "Fault_Alignment") Unknown); (Id_aux (Id "Fault_Background") Unknown); (Id_aux (Id "Fault_Domain") Unknown); (Id_aux (Id "Fault_Permission") Unknown); (Id_aux (Id "Fault_Translation") Unknown); (Id_aux (Id "Fault_AddressSize") Unknown); (Id_aux (Id "Fault_SyncExternal") Unknown); (Id_aux (Id "Fault_SyncExternalOnWalk") Unknown); (Id_aux (Id "Fault_SyncParity") Unknown); (Id_aux (Id "Fault_SyncParityOnWalk") Unknown); (Id_aux (Id "Fault_AsyncParity") Unknown); (Id_aux (Id "Fault_AsyncExternal") Unknown); (Id_aux (Id "Fault_Debug") Unknown); (Id_aux (Id "Fault_TLBConflict") Unknown); (Id_aux (Id "Fault_Lockdown") Unknown); (Id_aux (Id "Fault_Exclusive") Unknown); (Id_aux (Id "Fault_ICacheMaint") Unknown)] false) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "FaultRecord") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "Fault") Unknown)) Unknown), (Id_aux (Id "type") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "ipaddress") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "s2fs1walk") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "write") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "level") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown), (Id_aux (Id "extflag") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "secondstage") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "domain") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "debugmoe") Unknown));] false) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "MemAttrHints") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "attrs") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "hints") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "transient") Unknown));] false) (Unknown, (Just ((T_id "MemAttrHints"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemType_Normal") Unknown); (Id_aux (Id "MemType_Device") Unknown)] false) (Unknown, (Just ((T_id "MemType"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "MemoryAttributes") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "MemType") Unknown)) Unknown), (Id_aux (Id "type") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "shareable") Unknown));] false) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "FullAddress") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "physicaladdress") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown), (Id_aux (Id "NS") Unknown));] false) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "AddressDescriptor") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown), (Id_aux (Id "fault") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "MemoryAttributes") Unknown)) Unknown), (Id_aux (Id "memattrs") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "FullAddress") Unknown)) Unknown), (Id_aux (Id "paddress") Unknown));] false) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "PrefetchHint") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "Prefetch_READ") Unknown); (Id_aux (Id "Prefetch_WRITE") Unknown); (Id_aux (Id "Prefetch_EXEC") Unknown)] false) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ASR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "LSL_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "LSR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ROR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsZero") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Replicate") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SignExtend") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ZeroExtend") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Zeros") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Ones") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "UInt") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SInt") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HighestSetBit") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "CountLeadingZeroBits") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsSecure") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsSecureBelowEL3") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SCR_GEN") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "UsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ELUsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Halted") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HaveEL") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HaveAnyAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HighestELUsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Unreachable") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Hint_Branch") Unknown)) - (Unknown, (Just ((T_fn (T_id "BranchType") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "CountOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "CountOp_CLZ") Unknown); (Id_aux (Id "CountOp_CLS") Unknown); (Id_aux (Id "CountOp_CNT") Unknown)] false) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "ExtendType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "ExtendType_SXTB") Unknown); (Id_aux (Id "ExtendType_SXTH") Unknown); (Id_aux (Id "ExtendType_SXTW") Unknown); (Id_aux (Id "ExtendType_SXTX") Unknown); (Id_aux (Id "ExtendType_UXTB") Unknown); (Id_aux (Id "ExtendType_UXTH") Unknown); (Id_aux (Id "ExtendType_UXTW") Unknown); (Id_aux (Id "ExtendType_UXTX") Unknown)] false) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "RevOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "RevOp_RBIT") Unknown); (Id_aux (Id "RevOp_REV16") Unknown); (Id_aux (Id "RevOp_REV32") Unknown); (Id_aux (Id "RevOp_REV64") Unknown)] false) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "ShiftType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "ShiftType_LSL") Unknown); (Id_aux (Id "ShiftType_LSR") Unknown); (Id_aux (Id "ShiftType_ASR") Unknown); (Id_aux (Id "ShiftType_ROR") Unknown)] false) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "LogicalOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "LogicalOp_AND") Unknown); (Id_aux (Id "LogicalOp_EOR") Unknown); (Id_aux (Id "LogicalOp_ORR") Unknown)] false) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemOp_LOAD") Unknown); (Id_aux (Id "MemOp_STORE") Unknown); (Id_aux (Id "MemOp_PREFETCH") Unknown)] false) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemBarrierOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemBarrierOp_DSB") Unknown); (Id_aux (Id "MemBarrierOp_DMB") Unknown); (Id_aux (Id "MemBarrierOp_ISB") Unknown)] false) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "SystemHintOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "SystemHintOp_NOP") Unknown); (Id_aux (Id "SystemHintOp_YIELD") Unknown); (Id_aux (Id "SystemHintOp_WFE") Unknown); (Id_aux (Id "SystemHintOp_WFI") Unknown); (Id_aux (Id "SystemHintOp_SEV") Unknown); (Id_aux (Id "SystemHintOp_SEVL") Unknown)] false) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "PSTATEField") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "PSTATEField_DAIFSet") Unknown); (Id_aux (Id "PSTATEField_DAIFClr") Unknown); (Id_aux (Id "PSTATEField_SP") Unknown)] false) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rPC") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rSP") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wX") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rX") Unknown)) - (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wV") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rV") Unknown)) - (Unknown, (Just ((T_fn (T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rVpart") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SCTLR'") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_UndefinedFault") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_TranslateAddress") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "AddressDescriptor") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_WFxTrap") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_AlignmentFault") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_IsExclusiveVA") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DoubleLockStatus") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "ELUsingAArch32") Unknown) [(E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGOSDLR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGOSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DLK") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGPRCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "CORENPDRQ") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "OSDLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "OSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DLK") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGPRCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "CORENPDRQ") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "signalValue") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "LOw") Unknown); (Id_aux (Id "HIGH") Unknown)] false) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalDBGEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalDBGEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signelNIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalNIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalSPIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalSPIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalDPNIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalSPNIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "signalDBGEN") Unknown) []) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "HIGH") Unknown)) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExternalSecureInvasiveDebugEnabled") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "signalSPIDEN") Unknown) []) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "HIGH") Unknown)) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DCPSInstruction") Unknown) (P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DCPSInstruction") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DRPSInstruction") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DRPSInstruction") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Breakpoint") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_EDBGRQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_Normal") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_Exclusive") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_OSUnlockCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_ResetCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Watchpoint") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_HaltInstruction") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_SoftwareAccess") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_ExceptionCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_NoSyndrome") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Halt") Unknown) (P_aux (P_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "Halt") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Halted") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "EDSCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "STATUS") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "EDSCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "STATUS") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaltingAllowed") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app (Id_aux (Id "DoubleLockStatus") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExternalSecureInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ReservedValue") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UnallocatedEncoding") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsFault") Unknown) (P_aux (P_id (Id_aux (Id "addrdesc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "addrdesc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "Fault_None") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "AddressDescriptor") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ASR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "ASR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ASR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv49") (Ne_var "'nv50")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv118") (Ne_var "'nv119")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Align'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv29"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv13") (Ne_var "'nv14")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Align") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Align'") Unknown) [(E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CountLeadingSignBits") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingZeroBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv158")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv132") (Ne_var "'nv133")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv119")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv93") (Ne_var "'nv94")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)]))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CountLeadingZeroBits") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "HighestSetBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "Some") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv72") (Ne_var "'nv73")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Extend") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Extend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HighestSetBit") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv10") (Ne_var "'nv11")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_dec Unknown) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Int") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsZero") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsZeroBit") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "bit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSL") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "LSL_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSL_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'N"); (Ne_var "'S")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "LSR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv49") (Ne_var "'nv50")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv118") (Ne_var "'nv119")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Min") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<=") Unknown) (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "uMin") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<=") Unknown) (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "NOT") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_not")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "NOT'") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "bit") (T_id "bit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Ones") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ROR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "ROR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ROR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv9") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv46") (Ne_var "'nv47")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv78") (Ne_var "'nv79")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Replicate") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv31") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<<") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_leftshift")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv50")); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv52")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_var "'M")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_var "'M")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SInt") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "signed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "signed")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "signed")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SignExtend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_as (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "h") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "remainder") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "h") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UInt") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ZeroExtend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num (zero - 1)) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const (zero - 1)))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'M") (Ne_const (zero - 1))))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_var "'M")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_var "'M")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Zeros") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BitReverse") Unknown) (P_aux (P_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv10") (Ne_var "'nv11")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv93") (Ne_var "'nv94")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv67") (Ne_var "'nv68")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveCRCExt") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveCRCExt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Poly32Mod2") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo)))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv15") (Ne_var "'nv16")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_dec Unknown) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv66") (Ne_var "'nv67")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv209") (Ne_var "'nv210")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv205")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv166")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num 33) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 33))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv176") (Ne_var "'nv177")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearExclusiveByAddress") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearExclusiveLocal") Unknown) (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExclusiveMonitorsStatus") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "ExclusiveMonitorsStatus should not be called") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "bit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsExclusiveGlobal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsExclusiveLocal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "MarkExclusiveGlobal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "MarkExclusiveLocal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ProcessorID") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AddWithCarry") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv116"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv114"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv85"); (Ne_var "'nv86")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv76"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_var "'nv48")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "signed_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv232"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv230"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv201"); (Ne_var "'nv202")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv192"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv163"); (Ne_var "'nv164")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv268")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv242") (Ne_var "'nv243")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv287"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv304"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "signed_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv306")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv310")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv314")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv316")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const one)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv312")); (T_arg_nexp (Ne_var "'nv311")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv311")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv311")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv307")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv307")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BigEndian") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_E") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_E")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "E0E") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "EE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'W") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "BigEndianReverse") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_rec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'W") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BigEndianReverse") Unknown) (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'W"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv7"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv41") (Ne_var "'nv42")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv75") (Ne_var "'nv76")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_Reads") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_Writes") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_All") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DataMemoryBarrier") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Reads") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_Reads") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Writes") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_Writes") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_All") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_All") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_Reads") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_Writes") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_All") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DataSynchronizationBarrier") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DataSynchronizationBarrier: not MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Reads") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_Reads") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Writes") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_Writes") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_All") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_All") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "PrefetchHint") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Hint_Prefetch") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Prefetch") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "addr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_STREAM") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ATOMIC_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "read_buffer_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown), (Id_aux (Id "exclusive") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "address") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "size") Unknown));] false) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "_rMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_record_update (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) - (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_read_buffer") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight)))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ATOMIC") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv14") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv14") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ATOMIC_ORDERED") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv15") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv15") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unimplemented memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_NORMAL") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv16") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv16") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_STREAM") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv17") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv17") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_NORMAL") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv18") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv18") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ORDERED") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv19") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv19") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "Reached AccType_ATOMIC: unreachable when address values are known") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ATOMIC_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem_Addr") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "boolean") (T_id "bit")); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ORDERED") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ATOMIC") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ATOMIC_ORDERED") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_tup [(T_abbrev (T_id "boolean") (T_id "bit")); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Val_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Val_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "write_buffer_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown), (Id_aux (Id "exclusive") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "address") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "value") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "size") Unknown));] false) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "_wMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_record_update (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv130")); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv134")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv186") (Ne_var "'nv187")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv158") (Ne_var "'nv159")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv136")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv132")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv128"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv128")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) - (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_write_buffer") Unknown) (P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv65") (Ne_var "'nv66")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv37") (Ne_var "'nv38")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_mult (Ne_var "'nv11") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv11") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv11") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv133") (Ne_var "'nv134")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv105") (Ne_var "'nv106")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv83")); (T_arg_nexp (Ne_mult (Ne_var "'nv79") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv79") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv79") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv149")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv201") (Ne_var "'nv202")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv173") (Ne_var "'nv174")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv151")); (T_arg_nexp (Ne_mult (Ne_var "'nv147") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv147") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv147") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv217")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv269") (Ne_var "'nv270")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv241") (Ne_var "'nv242")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv219")); (T_arg_nexp (Ne_mult (Ne_var "'nv215") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv215") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv215") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "write_buffer_type") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_write_buffer_exclusive") Unknown) (P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_ATOMIC") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv54") (Ne_var "'nv55")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv26") (Ne_var "'nv27")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_mult (Ne_var "'nv0") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv0") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv0") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_ATOMIC") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv122") (Ne_var "'nv123")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv94") (Ne_var "'nv95")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_mult (Ne_var "'nv68") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv68") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv68") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "write_buffer_type") (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BranchTo") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "BranchType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Hint_Branch") Unknown) [(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv65"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI1") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv225")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI1") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv380")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv382")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv401")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv403")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "BranchType")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Branch") Unknown) (P_aux (P_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "This hint can be used for hardware optimization that has no effect on the model.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "BranchType") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ResetExternalDebugRegisters") Unknown) (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "ResetExternalDebugRegisters") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ThisInstrAddr") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ThisInstrAddr") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv89")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rSPSR") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "rSPSR UsingAArch32") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearEventRegister") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "ClearEventRegister") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ConditionHolds") Unknown) (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const three) (Ne_const one)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv218")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv220")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ELUsingAArch32") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "EventRegisterSet") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "EventRegisterSet") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "EventRegistered") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "EventRegistered") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveAArch32EL") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveAnyAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveAArch32EL") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveAnyAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveAnyAArch32") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveEL") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveEL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveEL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HighestELUsingAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveAnyAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HighestELUsingAArch32") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Yield") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "InstructionSynchronizationBarrier") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "InterruptPending") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "InterruptPending") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsSecure") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_M") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_M")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "M32_Monitor") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsSecureBelowEL3") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsSecureBelowEL3") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field - (E_aux (E_app (Id_aux (Id "SCR_GEN") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "NS") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "IsSecureBelowEL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCR_GEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SendEvent") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Unreachable") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "Unreachable reached") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UsingAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "WaitForEvent") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "WaitForEvent") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "WaitForInterrupt") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "WaitForInterrupt") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "PAMax") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "ID_AA64MMFR0_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "ID_AA64MMFR0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "PARange") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 36) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 36))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num forty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const forty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 42) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 42))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 44) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 44))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "S1TranslationRegime") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "ELUsingAArch32") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_Abort") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "FaultRecord")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_Abort") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "FaultRecord")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SPAlignmentFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SPAlignmentFault") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SoftwareBreakpoint") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SoftwareBreakpoint") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_TakeReset") Unknown) (P_aux (P_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_nRW") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_field (LEXP_aux (LEXP_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "NS") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetControlRegisters") Unknown) [(E_aux (E_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_DAIF") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SS") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_IL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ResetExternalDebugRegisters") Unknown) [(E_aux (E_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "PAMax") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv21")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv20"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv20")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "reset vector not correctly aligned") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_UNKNOWN") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallHypervisor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallHypervisor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallSecureMonitor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallSecureMonitor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallSupervisor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallSupervisor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckForSMCTrap") Unknown) (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "route_to_el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv249")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv251")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv246")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv248")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TSC") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "route_to_el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CheckForSMCTrap route_to_el2") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "nTWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "nTWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_WFxTrap") Unknown) [(E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SystemRegisterTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "dir") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SystemRegisterTrap") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_UndefinedFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_UndefinedFault") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_WFxTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_WFxTrap") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 19), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "write") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "Fault"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_id "bit"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "type") Unknown) (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "Fault"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "domain") Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "debugmoe") Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "ipaddress") Unknown) (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "level") Unknown) (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "write") Unknown) (E_aux (E_id (Id_aux (Id "write") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "extflag") Unknown) (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "secondstage") Unknown) (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "s2fs1walk") Unknown) (E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "Fault"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_id "bit"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ExclusiveMonitorsPass") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_IsExclusiveVA") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsExclusiveLocal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "ClearExclusiveLocal") Unknown) [ - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsExclusiveGlobal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_IsExclusiveVA") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_MarkExclusiveVA") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SetExclusiveMonitors") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "MarkExclusiveGlobal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "MarkExclusiveLocal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_MarkExclusiveVA") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckAlignment") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_ORDERED") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_rMemSingle") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight)))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "_rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_wMemSingle") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ClearExclusiveByAddress") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "_wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv6") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv6") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CheckSPAlignment") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SA0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "SA") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_SPAlignmentFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckAlignment") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VEC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VECSTREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv249") (Ne_var "'nv250")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv243"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem_exclusive") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckAlignment") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VEC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VECSTREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "exclusiveSuccess") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num seven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_mult (Ne_var "'nv242") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv242") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv242") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv255") (Ne_var "'nv256")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv337") (Ne_var "'nv338")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num seven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv307"); (Ne_var "'nv308")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv353") (Ne_var "'nv354")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_mult (Ne_var "'nv281") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv281") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv281") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv395") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv395") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem'") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem_exclusive") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem'") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wV") Unknown) [(E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveAArch32EL") Unknown) [(E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_fiq") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_irq") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_abt") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_und") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DLR_EL0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DSPSR_EL0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rPC") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wSP") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv25")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rSP") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv26")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv41")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wV") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rV") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rVpart") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv39")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv39"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_subrange (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wVpart") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv35")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv35"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant onetwentyseven) Unknown) (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wX") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rX") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rELR") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rELR'") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rELR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCTLR") Unknown) (P_aux (P_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "SCTLR_type unreachable") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCTLR'") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SCTLR") Unknown) [(E_aux (E_app (Id_aux (Id "S1TranslationRegime") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckUnallocatedSystemAccess") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "<") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CheckSystemAccess") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "unallocated") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "<") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "AArch64_CheckUnallocatedSystemAccess") Unknown) [ - (E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SysOp_R") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "SysOp_R") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SysOp_W") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "SysOp_W") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "System_Get") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "NZCV") Unknown)) (Unknown, (Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "DAIF") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num 13) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "System_Put") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "NZCV") Unknown)) (Unknown, (Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DAIF") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num 13) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ExceptionReturn") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "new_pc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "spsr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_ExceptionReturn") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeRegExtend") Unknown) (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTB") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTH") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTW") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTX") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTB") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTH") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTW") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTX") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "ExtendType") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant four) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ExtendReg") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExtendReg") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTB") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTH") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTW") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTX") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTB") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTH") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTW") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTX") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "uMin") Unknown) [(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv9") (Ne_var "'nv10")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Extend") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv50") (Ne_var "'nv51")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)]); (Ne_var "'S")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DecodeBitMasks") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'E") Unknown) [2; 4; 8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeBitMasks") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immN") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown)]) Unknown) (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "HighestSetBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "immN") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const six)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const six)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv6"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "DecodeBitMasks: HighestSetBit returned None") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "Some") Unknown) [(P_aux (P_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">=") Unknown) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv24") (Ne_exp (Ne_var "'nv25"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv32"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv32"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv32")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv48")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "diff") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv59")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "minus_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv81") (Ne_exp (Ne_var "'nv82"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "diff") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv90") (Ne_var "'nv91")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "welem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_id (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv174")); (T_arg_nexp (Ne_add [(Ne_var "'nv174"); (Ne_exp (Ne_const six))]))])), (Tag_extern (Just "add_vec_range_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv152"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv152"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv152")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "telem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_id (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv241")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv243")); (T_arg_nexp (Ne_add [(Ne_var "'nv243"); (Ne_exp (Ne_const six))]))])), (Tag_extern (Just "add_vec_range_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv221"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv221"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv221")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "welem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "telem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeShift") Unknown) (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_LSL") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_LSR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_ASR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_ROR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "ShiftType") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ShiftReg") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ShiftReg") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_LSL") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_LSR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_ASR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ASR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_ROR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Prefetch") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "PrefetchHint") Unknown)) Unknown) (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_READ") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_WRITE") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_EXEC") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const four) (Ne_const three)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_READ") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_EXEC") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_WRITE") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [ - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const two) (Ne_const one)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Hint_Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_AlignmentFault") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) [ - (E_aux (E_id (Id_aux (Id "Fault_Alignment") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_NoFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) [ - (E_aux (E_id (Id_aux (Id "Fault_None") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_TranslateAddress") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure).") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "fault") Unknown) - (E_aux (E_app (Id_aux (Id "AArch64_NoFault") Unknown) []) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "memattrs") Unknown) (E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "type") Unknown) (E_aux (E_id (Id_aux (Id "MemType_Normal") Unknown)) (Unknown, (Just ((T_id "MemType"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "shareable") Unknown) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "paddress") Unknown) (E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "physicaladdress") Unknown) (E_aux (E_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "NS") Unknown) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "AddressDescriptor") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_variant (Id_aux (Id "ast") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) [ - (Tu_aux (Tu_id (Id_aux (Id "Unallocated") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ImplementationDefinedStopFetching") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ImplementationDefinedThreadStart") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "TMStart") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "TMCommit") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "TMAbort") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "TMTest") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "CompareAndBranch") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BranchConditional") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL1") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL2") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL3") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "DebugBreakpoint") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ExternalDebugBreakpoint") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "PSTATEField") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveSystemImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "SystemHintOp") Unknown)) Unknown) (Id_aux (Id "Hint") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "ClearExclusiveMonitor") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "MemBarrierOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MBReqDomain") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MBReqTypes") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Barrier") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "System") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveSystemRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "TestBitAndBranch") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BranchImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown)]) Unknown) (Id_aux (Id "BranchRegister") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ExceptionReturn") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "DebugRestorePState") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadLiteral") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStoreAcqExc") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStorePairNonTemp") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStorePair") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BitfieldMove") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Id_aux (Id "ExtractRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LogicalImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MoveWideOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveWide") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "Address") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubExtendRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubShiftedRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "AddSubCarry") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "ConditionalCompareImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "ConditionalCompareRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "ConditionalSelect") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "RevOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Reverse") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "CountOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "CountLeading") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Division") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Shift") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "CRC") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyAddSub") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyAddSubLong") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyHigh") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "LogicalShiftedRegister") Unknown)) Unknown);] false) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "execute") Unknown)) - (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMStart") Unknown) (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "TMStart") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "TMCommitEffect") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMCommit") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMCommit") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMTest") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMTest") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMAbort") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMAbort") Unknown) [ - (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeCompareBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv45"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv45")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CompareAndBranch") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv15"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv15")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchConditional") Unknown) [ - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeExceptionGeneration") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL1") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL2") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL3") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "DebugBreakpoint") Unknown) [(E_aux (E_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ExternalDebugBreakpoint") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown) [(E_aux (E_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeSystem") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "PSTATEField") Unknown)) Unknown) (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFSet") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFClr") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_SP") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_SP") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFSet") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFClr") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveSystemImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "SystemHintOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_YIELD") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_WFE") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_WFI") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_SEV") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_SEVL") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_YIELD") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_WFE") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_WFI") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_SEV") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_SEVL") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Hint") Unknown) [(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ClearExclusiveMonitor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemBarrierOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_DSB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_DMB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_ISB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MBReqDomain") Unknown)) Unknown) (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_Nonshareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_OuterShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MBReqTypes") Unknown)) Unknown) (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_Reads") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_Writes") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_DSB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_DMB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_ISB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const three) (Ne_const two)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_OuterShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_Nonshareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const one) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_Reads") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_Writes") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const one) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Barrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv147"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv149"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv151"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv153"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "System") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv224"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv195"); (Ne_var "'nv196")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv226"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv228"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv230"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv232"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveSystemRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeImplementationDefined") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown) [(E_aux (E_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedStopFetching") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedThreadStart") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTestBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b40") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm14") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 13)); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "b40") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const five)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const five)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv31"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv31")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv32"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm14") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 13)); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 14); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 14); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "TestBitAndBranch") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm26") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 25)); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm26") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 25)); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 26); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 26); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_ERET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_DBGEXIT") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_RET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_EXCEPTION") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_UNKNOWN") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_RET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ExceptionReturn") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "DebugRestorePState") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStruct") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreMultiStruct") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStruct") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreSingleStruct") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadRegisterLiteral") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv17"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv17")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv24") (Ne_var "'nv25")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadLiteral") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreExclusive") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rs") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rs") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "AccType_ORDERED") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv175"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv172") (Ne_exp (Ne_var "'nv173"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv193") (Ne_var "'nv194")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStoreAcqExc") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreNoAllocatePairOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_STREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv96"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv67"); (Ne_var "'nv68")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv100") (Ne_exp (Ne_var "'nv101"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStorePairNonTemp") Unknown) [ - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "prefetchAllowed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "prefetchAllowed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign - (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv142") (Ne_exp (Ne_var "'nv143"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterImmediatePostIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterImmediatePreIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadRegister") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "ExtendType"); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv142") (Ne_exp (Ne_var "'nv143"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "ExtendType"); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterRegisterOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv29"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown) (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeRegExtend") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnprivileged") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_UNPRIV") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnscaledImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnsignedImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv21"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_if - (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv39")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv31")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv102"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv73"); (Ne_var "'nv74")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv106") (Ne_exp (Ne_var "'nv107"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStorePair") Unknown) [ - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairPostIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairPreIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv77"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 12); (Ne_var "'nv77")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 12); (Ne_var "'nv77")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv68"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv68")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeBitfield") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv538"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv540"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeBitMasks") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "BitfieldMove") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeExtract") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv123"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ExtractRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLogicalImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_ORR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_EOR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "DecodeBitMasks") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "LogicalImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeMoveWideImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MoveWideOp") Unknown)) Unknown) (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_Z") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_Z") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv108")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const two); (Ne_const four)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_const four)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv105"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv105")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv106"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveWide") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodePCRelAddressing") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv43"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv43")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const two); (Ne_var "'nv43")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_var "'nv43")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_var "'nv33")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_var "'nv33")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv30"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv30")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv47")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Address") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractExtendedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown) (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeRegExtend") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv72"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubExtendRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractShiftedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv69")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv147"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubShiftedRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractWithCarry") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubCarry") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalCompareImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const five); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalCompareImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalCompareRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalCompareRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalSelect") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalSelect") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData1Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData1Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "RevOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_RBIT") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV16") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV32") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV64") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_RBIT") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV16") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV32") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV64") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Reverse") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData1Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "CountOp") Unknown)) Unknown) (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "CountOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "CountOp_CLZ") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "CountOp_CLS") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "CountOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CountLeading") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "CountOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData2Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Division") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Shift") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv129")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv165")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv167")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv186"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv183") (Ne_exp (Ne_var "'nv184"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CRC") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData3Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyAddSub") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyAddSubLong") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyHigh") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLogicalShiftedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_ORR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_EOR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv112"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LogicalShiftedRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataSIMDFPoint1") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeDataSIMDFPoint1") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataSIMDFPoint2") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeDataSIMDFPoint2") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataRegister") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLogicalShiftedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractShiftedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractExtendedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv123")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalCompareRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalCompareImmediate") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalSelect") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData3Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData2Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData1Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataImmediate") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodePCRelAddressing") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLogicalImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv56")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeMoveWideImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv75")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeBitfield") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv94")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeExtract") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadsStores") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreExclusive") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadRegisterLiteral") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreNoAllocatePairOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv128")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairPostIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv214")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairPreIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnscaledImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv300")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterImmediatePostIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv343")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnprivileged") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterImmediatePreIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv429")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterRegisterOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv472")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnsignedImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv515")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStruct") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStruct") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystemImplementationDefined") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeSystem") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeBranchesExceptionSystem") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeUnconditionalBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeCompareBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeTestBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeExceptionGeneration") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeSystemImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decode") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataImmediate") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeBranchesExceptionSystem") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadsStores") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataSIMDFPoint1") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataSIMDFPoint2") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMStart") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<_u") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TXIDR_EL0") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TXIDR_EL0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DEPTH") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec_unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TMStartEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMStartEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 10) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 10))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMCommit") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv62")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "TMCommitEffect") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv73")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "minus_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMTest") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMAbort") Unknown) [(P_aux (P_id (Id_aux (Id "retry") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const four) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "retry") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 9) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 9))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CompareAndBranch") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv153")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchConditional") Unknown) [(P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv183")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL1") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_CallSupervisor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL2") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv260")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv262")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv259")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "hvc_enable") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HCE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HCD") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "hvc_enable") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CallHypervisor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL3") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv289")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv291")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CheckForSMCTrap") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SMD") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CallSecureMonitor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugBreakpoint") Unknown) [(P_aux (P_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_SoftwareBreakpoint") Unknown) [(E_aux (E_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExternalDebugBreakpoint") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Halt") Unknown) [(E_aux (E_id (Id_aux (Id "DebugHalt_HaltInstruction") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown) [(P_aux (P_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "DCPSInstruction") Unknown) [(E_aux (E_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveSystemImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_SP") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_DAIFSet") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_DAIFClr") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Hint") Unknown) [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_YIELD") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Hint_Yield") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_WFE") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "EventRegistered") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ClearEventRegister") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv388")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv454")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv456")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv451")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv453")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv464")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv466")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "WaitForEvent") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_WFI") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "InterruptPending") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv469")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv471")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv537")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv539")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv534")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv547")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv549")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "WaitForInterrupt") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_SEV") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SendEvent") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_SEVL") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "EventRegisterSet") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ClearExclusiveMonitor") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "ClearExclusiveLocal") Unknown) [ - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Barrier") Unknown) [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_DSB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_DMB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_ISB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "InstructionSynchronizationBarrier") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "System") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SysOp_R") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SysOp_W") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveSystemRegister") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "System_Get") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "System_Put") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown) [(P_aux (P_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "test ends") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "test begins") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedStopFetching") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "stop fetching instructions") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedThreadStart") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "thread start") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TestBitAndBranch") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv592")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv664")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExceptionReturn") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_ExceptionReturn") Unknown) [ - (E_aux (E_app (Id_aux (Id "rELR'") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rSPSR") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugRestorePState") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "DRPSInstruction") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadLiteral") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv743")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv767") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv767") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStoreAcqExc") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv781"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rn_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "speculate_exclusive_success") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rn_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1069")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1071")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1073")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1075")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "AArch64_ExclusiveMonitorsPass") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "flush_write_buffer_exclusive") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1077") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1077") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1078") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1078") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_SetExclusiveMonitors") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1093") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1093") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1105") (Ne_var "'nv1106")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1099")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1139") (Ne_var "'nv1140")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1135")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1173") (Ne_var "'nv1174")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1169")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1209") (Ne_var "'nv1210")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1203")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1236")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1238")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign - (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1307") (Ne_var "'nv1308")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1302") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1302") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1333") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1333") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStorePairNonTemp") Unknown) [(P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv1346"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1422")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1460") (Ne_var "'nv1461")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1480")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1569") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1569") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1600") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1600") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1692") (Ne_var "'nv1693")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1689") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1689") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1715") (Ne_var "'nv1716")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1709")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1798") (Ne_var "'nv1799")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1768") (Ne_var "'nv1769")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1744")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2304")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2346"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2361")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2408"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv2401") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv2401") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2440"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2424"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv2417") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv2417") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExtendReg") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2947")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2989"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3004")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3051"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv3044") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv3044") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3083"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3067"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv3060") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv3060") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStorePair") Unknown) [(P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3106"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4198")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4236") (Ne_var "'nv4237")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4256")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4345") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4345") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4376") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4376") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4468") (Ne_var "'nv4469")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4465") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4465") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4491") (Ne_var "'nv4492")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4485")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4574") (Ne_var "'nv4575")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4544") (Ne_var "'nv4545")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4520")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BitfieldMove") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "top") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "top") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExtractRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_constant two) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_constant two) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "concat") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4697")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4699")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "concat") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4767"); (Ne_var "'nv4768")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4739") (Ne_var "'nv4740")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4703")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LogicalImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_AND") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_ORR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_EOR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4844")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4818") (Ne_var "'nv4819")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4806")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_app (Id_aux (Id "IsZeroBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4847")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4849")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4808")); (T_arg_nexp (Ne_var "'nv4807")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv4807")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv4807")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveWide") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num fifteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fifteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4904"); (Ne_var "'nv4905")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv4901") (Ne_var "'nv4900")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv4901") (Ne_var "'nv4900")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Address") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range (LEXP_aux (LEXP_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 11) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 11))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const 11) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4957")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubExtendRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ExtendReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "2v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "3v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "2v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "3v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubShiftedRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "4v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "5v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "4v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "5v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubCarry") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "6v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "7v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "6v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "7v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalCompareImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "8v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "9v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "8v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "9v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalCompareRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "10v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "11v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "10v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "11v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalSelect") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Reverse") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV16") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV32") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV64") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_RBIT") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "vbit") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "vbit") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "vbit") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5139") (Ne_exp (Ne_var "'nv5140"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "base") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5148") (Ne_var "'nv5149")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5176") (Ne_var "'nv5177")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5250"); (Ne_var "'nv5251")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5224") (Ne_var "'nv5225")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5424") (Ne_var "'nv5425")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5394"); (Ne_var "'nv5395")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5350") (Ne_var "'nv5351")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5438"); (Ne_var "'nv5439")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5282")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5608") (Ne_var "'nv5609")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5578"); (Ne_var "'nv5579")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5534") (Ne_var "'nv5535")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5622"); (Ne_var "'nv5623")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5714"); (Ne_var "'nv5715")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5688") (Ne_var "'nv5689")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5654")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CountLeading") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "CountOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "CountOp_CLZ") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingZeroBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingSignBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Division") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5769"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Shift") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5799"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv5792") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CRC") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveCRCExt") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "acc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_constant thirtytwo) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_constant thirtytwo) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tempacc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "acc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5808")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tempval") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5814")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Poly32Mod2") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tempacc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tempval") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyAddSub") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5914"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5912"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5910"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5895") (Ne_var "'nv5896")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5861") (Ne_var "'nv5862")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6002"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6000"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5998"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5983") (Ne_var "'nv5984")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5947"); (Ne_var "'nv5948")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyAddSubLong") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6058") (Ne_var "'nv6059")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv6030") (Ne_var "'nv6031")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6126") (Ne_var "'nv6127")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv6096"); (Ne_var "'nv6097")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyHigh") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6150") (Ne_var "'nv6151")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LogicalShiftedRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_AND") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_ORR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_EOR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv6194") (Ne_var "'nv6195")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6184")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_app (Id_aux (Id "IsZeroBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6221")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6186")); (T_arg_nexp (Ne_var "'nv6185")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv6185")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv6185")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "supported_instructions") Unknown)) - (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "supported_instructions") Unknown) (P_aux (P_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -] diff --git a/aarch64_small/armV8.ml b/aarch64_small/armV8.ml deleted file mode 100644 index d02899e1..00000000 --- a/aarch64_small/armV8.ml +++ /dev/null @@ -1,6926 +0,0 @@ -(*Generated by Lem from armV8.lem.*) -(* Generated by Sail from armV8.sail. *) -open Interp_ast -open Lem_pervasives -(*Supply common numeric constants at the right type to alleviate repeated calls to typeclass macro*) -let zero : Nat_big_num.num= (Nat_big_num.of_int( 0)) -let one : Nat_big_num.num= (Nat_big_num.of_int( 1)) -let two : Nat_big_num.num= (Nat_big_num.of_int( 2)) -let three : Nat_big_num.num= (Nat_big_num.of_int( 3)) -let four : Nat_big_num.num= (Nat_big_num.of_int( 4)) -let five : Nat_big_num.num= (Nat_big_num.of_int( 5)) -let six : Nat_big_num.num= (Nat_big_num.of_int( 6)) -let seven : Nat_big_num.num= (Nat_big_num.of_int( 7)) -let eight : Nat_big_num.num= (Nat_big_num.of_int( 8)) -let fifteen : Nat_big_num.num= (Nat_big_num.of_int( 15)) -let sixteen : Nat_big_num.num= (Nat_big_num.of_int( 16)) -let twenty : Nat_big_num.num= (Nat_big_num.of_int( 20)) -let twentythree : Nat_big_num.num= (Nat_big_num.of_int( 23)) -let twentyfour : Nat_big_num.num= (Nat_big_num.of_int( 24)) -let thirty : Nat_big_num.num= (Nat_big_num.of_int( 30)) -let thirtyone : Nat_big_num.num= (Nat_big_num.of_int( 31)) -let thirtytwo : Nat_big_num.num= (Nat_big_num.of_int( 32)) -let thirtyfive : Nat_big_num.num= (Nat_big_num.of_int( 35)) -let thirtynine : Nat_big_num.num= (Nat_big_num.of_int( 39)) -let forty : Nat_big_num.num= (Nat_big_num.of_int( 40)) -let fortyseven : Nat_big_num.num= (Nat_big_num.of_int( 47)) -let fortyeight : Nat_big_num.num= (Nat_big_num.of_int( 48)) -let fiftyfive : Nat_big_num.num= (Nat_big_num.of_int( 55)) -let fiftysix : Nat_big_num.num= (Nat_big_num.of_int( 56)) -let fiftyseven : Nat_big_num.num= (Nat_big_num.of_int( 57)) -let sixtyone : Nat_big_num.num= (Nat_big_num.of_int( 61)) -let sixtythree : Nat_big_num.num= (Nat_big_num.of_int( 63)) -let sixtyfour : Nat_big_num.num= (Nat_big_num.of_int( 64)) -let onetwentyseven : Nat_big_num.num= (Nat_big_num.of_int( 127)) -let onetwentyeight : Nat_big_num.num= (Nat_big_num.of_int( 128)) -let defs:((t*tag*'a list*effect*effect)option)defs= (Defs [ -(DEF_default (DT_aux( (DT_order (Ord_aux( Ord_dec, Unknown))), Unknown))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "boolean"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "integer"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "int"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "uinteger"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "reg_size"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "reg_index"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "SIMD_index"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_PC"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TxNestingLevel"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TMSTATUS_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "IMP"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "DBG"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "MEM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "ERR"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "INV"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 11)), Unknown)), (Id_aux( (Id "SIZE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 10)), Unknown)), (Id_aux( (Id "NEST"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "ABRT"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "RTRY"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 4),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "REASON"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TMSTATUS_type"), Unknown))), Unknown)), (Id_aux( (Id "TMAbortEffect"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TMSTATUS_type"), Unknown))), Unknown)), (Id_aux( (Id "TMStartEffect"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMStartEffect")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R30"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R30")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R29"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R29")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R28"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R28")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R27"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R27")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R26"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R26")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R25"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R25")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R24"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R24")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R23"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R23")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R22"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R22")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R21"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R21")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R20"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R20")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R19"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R19")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R18"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R18")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R17"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R17")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R16"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R16")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R15"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R15")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R14"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R14")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R13"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R13")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R12"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R12")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R11"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R11")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R10"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R10")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R9"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R9")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R8"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R8")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R7"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R7")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R6"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R6")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R5"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R5")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R4"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R4")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_undef, Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R30"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R29"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R28"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R27"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R26"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R25"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R24"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R23"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R22"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R21"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R20"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R19"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R18"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R17"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R16"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R15"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R14"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R13"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R12"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R11"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R10"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R9"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R8"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R7"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R6"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R5"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R4"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "R0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UInt_reg"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V31"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V31")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V30"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V30")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V29"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V29")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V28"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V28")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V27"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V27")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V26"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V26")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V25"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V25")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V24"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V24")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V23"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V23")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V22"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V22")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V21"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V21")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V20"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V20")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V19"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V19")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V18"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V18")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V17"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V17")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V16"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V16")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V15"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V15")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V14"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V14")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V13"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V13")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V12"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V12")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V11"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V11")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V10"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V10")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V9"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V9")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V8"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V8")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V7"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V7")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V6"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V6")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V5"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V5")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V4"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V4")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_undef, Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V31"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V30"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V29"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V28"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V27"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V26"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V25"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V24"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V23"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V22"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V21"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V20"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V19"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V18"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V17"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V16"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V15"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V14"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V13"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V12"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V11"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V10"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V9"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V8"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V7"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V6"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V5"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V4"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "V0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'m"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'n"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'m"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'n"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'n"), Unknown))), Unknown)), (Nexp_aux( (Nexp_exp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'m"), Unknown))), Unknown))), Unknown)))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "lsl"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "**"), Unknown)), (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_exp (Ne_var "'nv21")))]))), (Tag_extern (Some "power")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv7"), (Ne_var "'nv8"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'n"), (Ne_exp (Ne_var "'m")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))])))]), (T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'n"), (Ne_exp (Ne_var "'m")))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "not_implemented"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_exit (E_aux( (E_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_none (Kid_aux( (Var "'a"), Unknown))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_var (Kid_aux( (Var "'a"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "not_implemented_extern"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_exit (E_aux( (E_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))), (Unknown, (Some ((T_var "'tv0"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_var "'tv0"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_var "'tv0"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_var "'tv0"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "info"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "IMPLEMENTATION_DEFINED_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveCRCExt"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveAArch32EL"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveAnyAArch32"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveEL2"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveEL3"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HighestELUsingAArch32"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)));], false)), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "HaveCRCExt"), Unknown)), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveAArch32EL"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveEL2"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveEL3"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "speculate_exclusive_success"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "HCR_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 33)), Unknown)), (Id_aux( (Id "ID"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 32)), Unknown)), (Id_aux( (Id "CD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "TRVM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "HCD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "TDZ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 27)), Unknown)), (Id_aux( (Id "TGE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "TVM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "TTLB"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "TPU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 23)), Unknown)), (Id_aux( (Id "TPC"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 22)), Unknown)), (Id_aux( (Id "TSW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "TACR"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "TIDCP"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "TSC"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "TID3"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 17)), Unknown)), (Id_aux( (Id "TID2"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "TID1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "TID0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "TWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "TWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "DC"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "BSU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "FB"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "VSE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "VI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "VF"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 5)), Unknown)), (Id_aux( (Id "AMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "IMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "FMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "PTW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "SWIO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "VM"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "HCR_type"), Unknown))), Unknown)), (Id_aux( (Id "HCR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "HCR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "ID_AA64MMFR0_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 31),(Nat_big_num.of_int 28))), Unknown)), (Id_aux( (Id "TGran4"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 27),(Nat_big_num.of_int 24))), Unknown)), (Id_aux( (Id "TGran64"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 23),(Nat_big_num.of_int 20))), Unknown)), (Id_aux( (Id "TGran16"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 19),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "BigEndEL0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SNSMem"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "BigEnd"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 7),(Nat_big_num.of_int 4))), Unknown)), (Id_aux( (Id "ASIDBits"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "PARange"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "ID_AA64MMFR0_type"), Unknown))), Unknown)), (Id_aux( (Id "ID_AA64MMFR0_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "ID_AA64MMFR0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "ID_AA64MMFR0_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCRType"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "TWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "TWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 11)), Unknown)), (Id_aux( (Id "ST"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 10)), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "SIF"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "HCE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "SMD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "EA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "FIQ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "IRQ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "NS"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Id_aux( (Id "SCR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCTLR_EL1_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "UCI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "EE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "E0E"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "WXN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "nTWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "nTWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "UCT"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "DZE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "UMA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "SED"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "ITD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 5)), Unknown)), (Id_aux( (Id "CP15BEN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "SA0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "SA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "M"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_EL1_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCTLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "EE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "WXN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "SA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "M"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TCR_EL1_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 38)), Unknown)), (Id_aux( (Id "TBI1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 37)), Unknown)), (Id_aux( (Id "TBI0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 36)), Unknown)), (Id_aux( (Id "AS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 34),(Nat_big_num.of_int 32))), Unknown)), (Id_aux( (Id "IPS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 31),(Nat_big_num.of_int 30))), Unknown)), (Id_aux( (Id "TG1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 29),(Nat_big_num.of_int 28))), Unknown)), (Id_aux( (Id "SH1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 27),(Nat_big_num.of_int 26))), Unknown)), (Id_aux( (Id "ORGN1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 25),(Nat_big_num.of_int 24))), Unknown)), (Id_aux( (Id "IRGN1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 23)), Unknown)), (Id_aux( (Id "EPD1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 22)), Unknown)), (Id_aux( (Id "A1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 21),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "T1SZ"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 14))), Unknown)), (Id_aux( (Id "TG0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SH0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "ORGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "IRGN0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "EPD0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "T0SZ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_EL1_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "TBI"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 18),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "PS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 14))), Unknown)), (Id_aux( (Id "TG0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SH0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "ORGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "IRGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "T0SZ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DBGPRCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "CORENPDRQ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGPRCR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGPRCR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGPRCR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "OSDLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "DLK"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "OSDLR_type"), Unknown))), Unknown)), (Id_aux( (Id "OSDLR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "OSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "OSDLR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "EDSCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "RXfull"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "TXfull"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "ITO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 27)), Unknown)), (Id_aux( (Id "RXO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "TXU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "PipeAdv"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "ITE"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 23),(Nat_big_num.of_int 22))), Unknown)), (Id_aux( (Id "INTdis"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "TDA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "MA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "NS"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "SDD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "HDE"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "EL"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "ERR"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "STATUS"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "EDSCR_type"), Unknown))), Unknown)), (Id_aux( (Id "EDSCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "EDSCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TXIDR_EL0_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 7),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "DEPTH"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TXIDR_EL0_type"), Unknown))), Unknown)), (Id_aux( (Id "TXIDR_EL0"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TXIDR_EL0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TXIDR_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetControlRegisters"), Unknown)), (P_aux( (P_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "CurrentEL_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 2))), Unknown)), (Id_aux( (Id "EL"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "CurrentEL_type"), Unknown))), Unknown)), (Id_aux( (Id "CurrentEL"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "CurrentEL_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DAIF_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "D"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "F"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DAIF_type"), Unknown))), Unknown)), (Id_aux( (Id "DAIF"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "NZCV_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "N"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "Z"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "V"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "NZCV_type"), Unknown))), Unknown)), (Id_aux( (Id "NZCV"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SPSel_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "SP"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSel_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSel"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSel_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SPSR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "N"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "Z"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "V"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "SS"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "IL"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "E"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "F"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "M4"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "M3_0"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Id_aux( (Id "SCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DBGOSDLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "DLK"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGOSDLR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGOSDLR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGOSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGOSDLR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGPRCR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGPRCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGPRCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_N"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "N"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_Z"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "Z"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_C"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "C"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_V"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "V"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_D"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "D"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_A"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "A"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_I"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "I"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_F"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "F"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_EL"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "CurrentEL"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "CurrentEL_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "EL"), Unknown)))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_nRW"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_SP"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "SPSel"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "SPSel_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SP"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_E"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_E")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_M"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_M")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wPSTATE_DAIF"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "f"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "f"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "AccType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "AccType_NORMAL"), Unknown)); (Id_aux( (Id "AccType_VEC"), Unknown)); (Id_aux( (Id "AccType_STREAM"), Unknown)); (Id_aux( (Id "AccType_VECSTREAM"), Unknown)); (Id_aux( (Id "AccType_ATOMIC"), Unknown)); (Id_aux( (Id "AccType_ORDERED"), Unknown)); (Id_aux( (Id "AccType_UNPRIV"), Unknown)); (Id_aux( (Id "AccType_IFETCH"), Unknown)); (Id_aux( (Id "AccType_PTW"), Unknown)); (Id_aux( (Id "AccType_DC"), Unknown)); (Id_aux( (Id "AccType_IC"), Unknown)); (Id_aux( (Id "AccType_AT"), Unknown))], false)), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MBReqDomain"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown)); (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown)); (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown)); (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))], false)), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MBReqTypes"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MBReqTypes_Reads"), Unknown)); (Id_aux( (Id "MBReqTypes_Writes"), Unknown)); (Id_aux( (Id "MBReqTypes_All"), Unknown))], false)), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "BranchType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "BranchType_CALL"), Unknown)); (Id_aux( (Id "BranchType_ERET"), Unknown)); (Id_aux( (Id "BranchType_DBGEXIT"), Unknown)); (Id_aux( (Id "BranchType_RET"), Unknown)); (Id_aux( (Id "BranchType_JMP"), Unknown)); (Id_aux( (Id "BranchType_EXCEPTION"), Unknown)); (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))], false)), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MoveWideOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MoveWideOp_N"), Unknown)); (Id_aux( (Id "MoveWideOp_Z"), Unknown)); (Id_aux( (Id "MoveWideOp_K"), Unknown))], false)), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_User"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_FIQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_IRQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Svc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Monitor"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Abort"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Hyp"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Undef"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_System"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "DeviceType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "DeviceType_GRE"), Unknown)); (Id_aux( (Id "DeviceType_nGRE"), Unknown)); (Id_aux( (Id "DeviceType_nGnRE"), Unknown)); (Id_aux( (Id "DeviceType_nGnRnE"), Unknown))], false)), (Unknown, (Some ((T_id "DeviceType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "Fault"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "Fault_None"), Unknown)); (Id_aux( (Id "Fault_AccessFlag"), Unknown)); (Id_aux( (Id "Fault_Alignment"), Unknown)); (Id_aux( (Id "Fault_Background"), Unknown)); (Id_aux( (Id "Fault_Domain"), Unknown)); (Id_aux( (Id "Fault_Permission"), Unknown)); (Id_aux( (Id "Fault_Translation"), Unknown)); (Id_aux( (Id "Fault_AddressSize"), Unknown)); (Id_aux( (Id "Fault_SyncExternal"), Unknown)); (Id_aux( (Id "Fault_SyncExternalOnWalk"), Unknown)); (Id_aux( (Id "Fault_SyncParity"), Unknown)); (Id_aux( (Id "Fault_SyncParityOnWalk"), Unknown)); (Id_aux( (Id "Fault_AsyncParity"), Unknown)); (Id_aux( (Id "Fault_AsyncExternal"), Unknown)); (Id_aux( (Id "Fault_Debug"), Unknown)); (Id_aux( (Id "Fault_TLBConflict"), Unknown)); (Id_aux( (Id "Fault_Lockdown"), Unknown)); (Id_aux( (Id "Fault_Exclusive"), Unknown)); (Id_aux( (Id "Fault_ICacheMaint"), Unknown))], false)), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "FaultRecord"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "Fault"), Unknown))), Unknown)), (Id_aux( (Id "type"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "write"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "domain"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "debugmoe"), Unknown)));], false)), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "MemAttrHints"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "attrs"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "hints"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "transient"), Unknown)));], false)), (Unknown, (Some ((T_id "MemAttrHints"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemType_Normal"), Unknown)); (Id_aux( (Id "MemType_Device"), Unknown))], false)), (Unknown, (Some ((T_id "MemType"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "MemoryAttributes"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "MemType"), Unknown))), Unknown)), (Id_aux( (Id "type"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "shareable"), Unknown)));], false)), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "FullAddress"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "physicaladdress"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "NS"), Unknown)));], false)), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "AddressDescriptor"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Id_aux( (Id "fault"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "MemoryAttributes"), Unknown))), Unknown)), (Id_aux( (Id "memattrs"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "FullAddress"), Unknown))), Unknown)), (Id_aux( (Id "paddress"), Unknown)));], false)), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "PrefetchHint"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "Prefetch_READ"), Unknown)); (Id_aux( (Id "Prefetch_WRITE"), Unknown)); (Id_aux( (Id "Prefetch_EXEC"), Unknown))], false)), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ASR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "LSL_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "LSR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ROR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsZero"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Replicate"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SignExtend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ZeroExtend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Zeros"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Ones"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "UInt"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SInt"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HighestSetBit"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "CountLeadingZeroBits"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsSecure"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SCR_GEN"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "UsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ELUsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Halted"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HaveEL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HaveAnyAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HighestELUsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Unreachable"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Hint_Branch"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "BranchType"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "CountOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "CountOp_CLZ"), Unknown)); (Id_aux( (Id "CountOp_CLS"), Unknown)); (Id_aux( (Id "CountOp_CNT"), Unknown))], false)), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "ExtendType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "ExtendType_SXTB"), Unknown)); (Id_aux( (Id "ExtendType_SXTH"), Unknown)); (Id_aux( (Id "ExtendType_SXTW"), Unknown)); (Id_aux( (Id "ExtendType_SXTX"), Unknown)); (Id_aux( (Id "ExtendType_UXTB"), Unknown)); (Id_aux( (Id "ExtendType_UXTH"), Unknown)); (Id_aux( (Id "ExtendType_UXTW"), Unknown)); (Id_aux( (Id "ExtendType_UXTX"), Unknown))], false)), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "RevOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "RevOp_RBIT"), Unknown)); (Id_aux( (Id "RevOp_REV16"), Unknown)); (Id_aux( (Id "RevOp_REV32"), Unknown)); (Id_aux( (Id "RevOp_REV64"), Unknown))], false)), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "ShiftType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "ShiftType_LSL"), Unknown)); (Id_aux( (Id "ShiftType_LSR"), Unknown)); (Id_aux( (Id "ShiftType_ASR"), Unknown)); (Id_aux( (Id "ShiftType_ROR"), Unknown))], false)), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "LogicalOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "LogicalOp_AND"), Unknown)); (Id_aux( (Id "LogicalOp_EOR"), Unknown)); (Id_aux( (Id "LogicalOp_ORR"), Unknown))], false)), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemOp_LOAD"), Unknown)); (Id_aux( (Id "MemOp_STORE"), Unknown)); (Id_aux( (Id "MemOp_PREFETCH"), Unknown))], false)), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemBarrierOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemBarrierOp_DSB"), Unknown)); (Id_aux( (Id "MemBarrierOp_DMB"), Unknown)); (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))], false)), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "SystemHintOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "SystemHintOp_NOP"), Unknown)); (Id_aux( (Id "SystemHintOp_YIELD"), Unknown)); (Id_aux( (Id "SystemHintOp_WFE"), Unknown)); (Id_aux( (Id "SystemHintOp_WFI"), Unknown)); (Id_aux( (Id "SystemHintOp_SEV"), Unknown)); (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))], false)), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "PSTATEField"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "PSTATEField_DAIFSet"), Unknown)); (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown)); (Id_aux( (Id "PSTATEField_SP"), Unknown))], false)), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rPC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rSP"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wX"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rX"), Unknown)))), - (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wV"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rV"), Unknown)))), - (Unknown, (Some ((T_fn( (T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rVpart"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SCTLR'"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "AddressDescriptor"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_WFxTrap"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DoubleLockStatus"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ELUsingAArch32"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGOSDLR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGOSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DLK"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGPRCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "CORENPDRQ"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "OSDLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "OSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DLK"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGPRCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "CORENPDRQ"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "signalValue"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "LOw"), Unknown)); (Id_aux( (Id "HIGH"), Unknown))], false)), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalDBGEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalDBGEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signelNIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalNIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalSPIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalSPIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalDPNIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalSPNIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "signalDBGEN"), Unknown)), [])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "HIGH"), Unknown))), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExternalSecureInvasiveDebugEnabled"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "signalSPIDEN"), Unknown)), [])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "HIGH"), Unknown))), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DCPSInstruction"), Unknown)), (P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DCPSInstruction"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DRPSInstruction"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DRPSInstruction"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Breakpoint"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_EDBGRQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_Normal"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_Exclusive"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_OSUnlockCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_ResetCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Watchpoint"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_HaltInstruction"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_SoftwareAccess"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_ExceptionCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_NoSyndrome"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Halt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Halt"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Halted"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "EDSCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "STATUS"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "EDSCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "STATUS"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaltingAllowed"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "DoubleLockStatus"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExternalSecureInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ReservedValue"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsFault"), Unknown)), (P_aux( (P_id (Id_aux( (Id "addrdesc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "addrdesc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "type"), Unknown)))), (Unknown, (Some ((T_id "Fault"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "Fault_None"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "AddressDescriptor"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ASR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "ASR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ASR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv49"), (Ne_var "'nv50"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv118"), (Ne_var "'nv119"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Align'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv29"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv13"), (Ne_var "'nv14"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Align"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Align'"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CountLeadingSignBits"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv158")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv132"), (Ne_var "'nv133"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv119")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv93"), (Ne_var "'nv94"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)]))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "HighestSetBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "Some"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv72"), (Ne_var "'nv73"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Extend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Extend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HighestSetBit"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "break"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv10"), (Ne_var "'nv11"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_dec, Unknown)), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Int"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsZero"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsZeroBit"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "bit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSL"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "LSL_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSL_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'N"); (Ne_var "'S")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "LSR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv49"), (Ne_var "'nv50"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv118"), (Ne_var "'nv119"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Min"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<="), Unknown)), (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "uMin"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<="), Unknown)), (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "NOT"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_not")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "NOT'"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "bit"), (T_id "bit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Ones"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ROR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "ROR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ROR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv9"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv46"), (Ne_var "'nv47"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv78"), (Ne_var "'nv79"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Replicate"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv31"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<<"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_leftshift")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv50")); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv52")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_var "'M")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_var "'M")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SInt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "signed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "signed")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "signed")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SignExtend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_as( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "h"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "remainder"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "x"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "h"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UInt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ZeroExtend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1))))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_var "'M")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_var "'M")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Zeros"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BitReverse"), Unknown)), (P_aux( (P_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv10"), (Ne_var "'nv11"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv93"), (Ne_var "'nv94"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv67"), (Ne_var "'nv68"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveCRCExt"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveCRCExt"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Poly32Mod2"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "zeros"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv15"), (Ne_var "'nv16"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_dec, Unknown)), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv66"), (Ne_var "'nv67"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv209"), (Ne_var "'nv210"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv205")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv166")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 33)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 33)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv176"), (Ne_var "'nv177"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearExclusiveByAddress"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExclusiveMonitorsStatus"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ExclusiveMonitorsStatus should not be called"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "bit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsExclusiveGlobal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsExclusiveLocal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "MarkExclusiveGlobal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "MarkExclusiveLocal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ProcessorID"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AddWithCarry"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "unsigned_sum"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv116"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv114"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv85"); (Ne_var "'nv86")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv76"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_var "'nv48")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "signed_sum"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv232"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv230"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv201"); (Ne_var "'nv202")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv192"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv163"); (Ne_var "'nv164")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "unsigned_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv268")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv242"), (Ne_var "'nv243"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "z"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "c"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv287"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "unsigned_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "v"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv304"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "signed_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv306")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv310")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv314")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv316")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const one)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv312")); (T_arg_nexp (Ne_var "'nv311")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv311")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv311")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv307")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv307")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BigEndian"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "bigend"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_E"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_E")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "E0E"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "EE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'W"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'W"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "BigEndianReverse"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_rec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'W"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'W"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BigEndianReverse"), Unknown)), (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "width"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'W"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "half"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv7"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "half"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv41"), (Ne_var "'nv42"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv75"), (Ne_var "'nv76"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "half"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_Reads"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_Writes"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_All"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DataMemoryBarrier"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_All"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_All"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_Reads"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_Writes"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_All"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DataSynchronizationBarrier"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DataSynchronizationBarrier: not MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_All"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_All"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "PrefetchHint"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Hint_Prefetch"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Prefetch"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "addr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_STREAM"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ATOMIC_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "read_buffer_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusive"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)));], false)), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "_rMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_record_update( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_read_buffer"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ATOMIC"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv14"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv14"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ATOMIC_ORDERED"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv15"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv15"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unimplemented memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_NORMAL"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv16"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv16"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_STREAM"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv17"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv17"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_NORMAL"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv18"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv18"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ORDERED"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv19"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv19"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Reached AccType_ATOMIC: unreachable when address values are known"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ATOMIC_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem_Addr"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ORDERED"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ATOMIC"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ATOMIC_ORDERED"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_tup [(T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "write_buffer_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusive"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)));], false)), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "_wMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_record_update( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv130")); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv134")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv186"), (Ne_var "'nv187"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv158"), (Ne_var "'nv159"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv136")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv132")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv128"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv128")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_write_buffer"), Unknown)), (P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv65"), (Ne_var "'nv66"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv37"), (Ne_var "'nv38"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_mult( (Ne_var "'nv11"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv11"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv11"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv133"), (Ne_var "'nv134"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv105"), (Ne_var "'nv106"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv83")); (T_arg_nexp (Ne_mult( (Ne_var "'nv79"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv79"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv79"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv149")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv201"), (Ne_var "'nv202"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv173"), (Ne_var "'nv174"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv151")); (T_arg_nexp (Ne_mult( (Ne_var "'nv147"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv147"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv147"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv217")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv269"), (Ne_var "'nv270"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv241"), (Ne_var "'nv242"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv219")); (T_arg_nexp (Ne_mult( (Ne_var "'nv215"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv215"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv215"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "write_buffer_type"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_write_buffer_exclusive"), Unknown)), (P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv54"), (Ne_var "'nv55"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv26"), (Ne_var "'nv27"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_mult( (Ne_var "'nv0"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv0"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv0"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv122"), (Ne_var "'nv123"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv94"), (Ne_var "'nv95"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_mult( (Ne_var "'nv68"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv68"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv68"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "write_buffer_type"), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BranchTo"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "BranchType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Hint_Branch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv65"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI1"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv225")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI1"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv380")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv382")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv401")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv403")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "BranchType")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Branch"), Unknown)), (P_aux( (P_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "This hint can be used for hardware optimization that has no effect on the model."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "BranchType"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ResetExternalDebugRegisters"), Unknown)), (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ResetExternalDebugRegisters"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ThisInstrAddr"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ThisInstrAddr"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv89")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rSPSR"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "rSPSR UsingAArch32"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearEventRegister"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ClearEventRegister"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ConditionHolds"), Unknown)), (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const three), (Ne_const one))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv218")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv220")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ELUsingAArch32"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "EventRegisterSet"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "EventRegisterSet"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "EventRegistered"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "EventRegistered"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveAArch32EL"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveAArch32EL"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveAnyAArch32"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveEL"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveEL2"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveEL3"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HighestELUsingAArch32"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Yield"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "InstructionSynchronizationBarrier"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "InterruptPending"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "InterruptPending"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsSecure"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_M"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_M")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "M32_Monitor"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( - (E_aux( (E_app( (Id_aux( (Id "SCR_GEN"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "NS"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCR_GEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SendEvent"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Unreachable"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Unreachable reached"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UsingAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "WaitForEvent"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "WaitForEvent"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "WaitForInterrupt"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "WaitForInterrupt"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "PAMax"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "pa_size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "ID_AA64MMFR0_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "ID_AA64MMFR0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "PARange"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 36)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 36)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num forty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const forty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 42)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 42)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 44)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 44)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "S1TranslationRegime"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ELUsingAArch32"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_Abort"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "fault"), Unknown))), (Unknown, (Some ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "FaultRecord")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_Abort"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "FaultRecord")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SPAlignmentFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SPAlignmentFault"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SoftwareBreakpoint"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SoftwareBreakpoint"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_TakeReset"), Unknown)), (P_aux( (P_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_nRW"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_field( (LEXP_aux( (LEXP_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "NS"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetControlRegisters"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_DAIF"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SS"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_IL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ResetExternalDebugRegisters"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "rv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "PAMax"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv21")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv20"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv20")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "reset vector not correctly aligned"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallHypervisor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallHypervisor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallSecureMonitor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallSecureMonitor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallSupervisor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallSupervisor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckForSMCTrap"), Unknown)), (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "route_to_el2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv249")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv251")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv246")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv248")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TSC"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "route_to_el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CheckForSMCTrap route_to_el2"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "trap"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "nTWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "nTWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_WFxTrap"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SystemRegisterTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "dir"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SystemRegisterTrap"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_UndefinedFault"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_WFxTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_WFxTrap"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 19)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "write"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "Fault"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "bit"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "type"), Unknown)), (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "Fault"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "Fault"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "domain"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "debugmoe"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "ipaddress"), Unknown)), (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "level"), Unknown)), (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "write"), Unknown)), (E_aux( (E_id (Id_aux( (Id "write"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "extflag"), Unknown)), (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "secondstage"), Unknown)), (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "s2fs1walk"), Unknown)), (E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "fault"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "Fault"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "bit"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ExclusiveMonitorsPass"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "passed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsExclusiveLocal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsExclusiveGlobal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_MarkExclusiveVA"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SetExclusiveMonitors"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "MarkExclusiveGlobal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "MarkExclusiveLocal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_MarkExclusiveVA"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "A"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "A"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_ORDERED"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "A"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "_rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ClearExclusiveByAddress"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "_wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv6"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv6"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CheckSPAlignment"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "sp"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "stack_align_check"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SA0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "SA"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_SPAlignmentFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "i"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "atomic"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VEC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VECSTREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "atomic"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv249"), (Ne_var "'nv250"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv243"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem_exclusive"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "i"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "atomic"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VEC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VECSTREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusiveSuccess"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "atomic"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num seven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_mult( (Ne_var "'nv242"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv242"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv242"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv255"), (Ne_var "'nv256"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv337"), (Ne_var "'nv338"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num seven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv307"); (Ne_var "'nv308")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv353"), (Ne_var "'nv354"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_mult( (Ne_var "'nv281"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv281"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv281"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv395"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv395"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem_exclusive"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wV"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveAArch32EL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_fiq"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_irq"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_abt"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_und"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DLR_EL0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DSPSR_EL0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rPC"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wSP"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv25")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rSP"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv26")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv41")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rVpart"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv39")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv39"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wVpart"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv35")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv35"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant onetwentyseven), Unknown)), (Nexp_aux( (Nexp_constant sixtyfour), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wX"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rX"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rELR"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "r"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rELR'"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rELR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCTLR"), Unknown)), (P_aux( (P_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SCTLR_type unreachable"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCTLR'"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SCTLR"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "S1TranslationRegime"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckUnallocatedSystemAccess"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CheckSystemAccess"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "unallocated"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "need_secure"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "min_EL"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "need_secure"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "need_secure"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckUnallocatedSystemAccess"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SysOp_R"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SysOp_R"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SysOp_W"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SysOp_W"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "System_Get"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num(Nat_big_num.of_int 13)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "TPIDR_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "System_Put"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num(Nat_big_num.of_int 13)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TPIDR_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ExceptionReturn"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "new_pc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "spsr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_ExceptionReturn"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeRegExtend"), Unknown)), (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTB"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTH"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTW"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTX"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTB"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTH"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTW"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTX"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "ExtendType"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant four), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ExtendReg"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExtendReg"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "len"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTB"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTH"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTW"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTX"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTB"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTH"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTW"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTX"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "uMin"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv9"), (Ne_var "'nv10"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Extend"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv50"), (Ne_var "'nv51"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)]); (Ne_var "'S")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'E"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DecodeBitMasks"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'E"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'E"), Unknown)), [Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeBitMasks"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immN"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "levels"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "len"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "HighestSetBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "immN"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const six)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const six)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv6"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DecodeBitMasks: HighestSetBit returned None"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "Some"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">="), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv24"), (Ne_exp (Ne_var "'nv25")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv32")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv32"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv32")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv48")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "S"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "diff"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv59")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "minus_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "esize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv81"), (Ne_exp (Ne_var "'nv82")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "diff"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv90"), (Ne_var "'nv91"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "welem"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "esize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv174")); (T_arg_nexp (Ne_add [(Ne_var "'nv174"); (Ne_exp (Ne_const six))]))]))), (Tag_extern (Some "add_vec_range_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv152")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv152"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv152")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "telem"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "esize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv241")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv243")); (T_arg_nexp (Ne_add [(Ne_var "'nv243"); (Ne_exp (Ne_const six))]))]))), (Tag_extern (Some "add_vec_range_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv221")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv221"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv221")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "welem"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "telem"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeShift"), Unknown)), (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_LSL"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_LSR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_ASR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_ROR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "ShiftType"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ShiftReg"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ShiftReg"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_LSL"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_LSR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_ASR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ASR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_ROR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Prefetch"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "PrefetchHint"), Unknown))), Unknown)), (Id_aux( (Id "hint"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_READ"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_WRITE"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_EXEC"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "target"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "stream"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "returnv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const four), (Ne_const three))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_READ"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_EXEC"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_WRITE"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "returnv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "returnv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [ - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const two), (Ne_const one))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Hint_Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Fault_Alignment"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_NoFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Fault_None"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "fault"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "AArch64_NoFault"), Unknown)), [])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "memattrs"), Unknown)), (E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "type"), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemType_Normal"), Unknown))), (Unknown, (Some ((T_id "MemType"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "shareable"), Unknown)), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "paddress"), Unknown)), (E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "physicaladdress"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "NS"), Unknown)), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "AddressDescriptor"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_variant( (Id_aux( (Id "ast"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), [ - (Tu_aux( (Tu_id (Id_aux( (Id "Unallocated"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "TMStart"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "TMCommit"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "TMAbort"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "TMTest"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "CompareAndBranch"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BranchConditional"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL1"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL2"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL3"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "DebugBreakpoint"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "PSTATEField"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveSystemImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "SystemHintOp"), Unknown))), Unknown)), (Id_aux( (Id "Hint"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "MemBarrierOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MBReqDomain"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MBReqTypes"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Barrier"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "System"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveSystemRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "TestBitAndBranch"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BranchImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "BranchRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ExceptionReturn"), Unknown))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "DebugRestorePState"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadLiteral"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStoreAcqExc"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStorePair"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BitfieldMove"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "ExtractRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LogicalImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MoveWideOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveWide"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "Address"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubExtendRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubShiftedRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "AddSubCarry"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalCompareRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalSelect"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "RevOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Reverse"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "CountOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "CountLeading"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Division"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Shift"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "CRC"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyAddSub"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyAddSubLong"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyHigh"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "LogicalShiftedRegister"), Unknown)))), Unknown));], false)), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "execute"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMStart"), Unknown)), (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "TMStart"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "TMCommitEffect"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMCommit"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMCommit"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMTest"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMTest"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMAbort"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMAbort"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeCompareBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iszero"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv45"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv45")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CompareAndBranch"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv15"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv15")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchConditional"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeExceptionGeneration"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL1"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL2"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL3"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "comment"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "DebugBreakpoint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target_level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeSystem"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "PSTATEField"), Unknown))), Unknown)), (Id_aux( (Id "field"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_SP"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_SP"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveSystemImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "SystemHintOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_YIELD"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFE"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFI"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEV"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_YIELD"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFE"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFI"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEV"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Hint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemBarrierOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DSB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DMB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MBReqDomain"), Unknown))), Unknown)), (Id_aux( (Id "domain"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MBReqTypes"), Unknown))), Unknown)), (Id_aux( (Id "types"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Reads"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Writes"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DSB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DMB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const three), (Ne_const two))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const one), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Reads"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Writes"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const one), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Barrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op0"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv147"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv149"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crn"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv151"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv153"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "has_result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "System"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op0"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv224"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv195"); (Ne_var "'nv196")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv226"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv228"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crn"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv230"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv232"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "read"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveSystemRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeImplementationDefined"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTestBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b40"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm14"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "bit_pos"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "b40"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const five)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const five)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv31"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv31")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv32"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "bit_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm14"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "TestBitAndBranch"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm26"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Id_aux( (Id "branch_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm26"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Id_aux( (Id "branch_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_ERET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_DBGEXIT"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_RET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_EXCEPTION"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_RET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ExceptionReturn"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "DebugRestorePState"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStruct"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreMultiStruct"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStruct"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreSingleStruct"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadRegisterLiteral"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv17"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv17")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv24"), (Ne_var "'nv25"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadLiteral"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreExclusive"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rs"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "s"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rs"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "AccType_ORDERED"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "excl"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "pair"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv175"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv172"), (Ne_exp (Ne_var "'nv173")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv193"), (Ne_var "'nv194"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStoreAcqExc"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreNoAllocatePairOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_STREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv96"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv67"); (Ne_var "'nv68")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv100"), (Ne_exp (Ne_var "'nv101")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "prefetchAllowed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "prefetchAllowed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( - (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv142"), (Ne_exp (Ne_var "'nv143")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePostIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePreIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadRegister"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "ExtendType"); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv142"), (Ne_exp (Ne_var "'nv143")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "ExtendType"); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterRegisterOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv29"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)), (Id_aux( (Id "extend_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeRegExtend"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "shift"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnprivileged"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_UNPRIV"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnscaledImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnsignedImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv21"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_if( - (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv39")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv31")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv102"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv73"); (Ne_var "'nv74")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv106"), (Ne_exp (Ne_var "'nv107")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStorePair"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairPostIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairPreIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv77")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_var "'nv77")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_var "'nv77")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv68"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv68")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeBitfield"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "inzero"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "extend"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "R"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "S"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv538"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv540"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeBitMasks"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "BitfieldMove"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExtract"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "lsb"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv123"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ExtractRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLogicalImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_ORR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_EOR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "DecodeBitMasks"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "LogicalImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeMoveWideImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "pos"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MoveWideOp"), Unknown))), Unknown)), (Id_aux( (Id "opcode"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_Z"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_Z"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv108")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const two); (Ne_const four)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_const four)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv105"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv105")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv106"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveWide"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodePCRelAddressing"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "page"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv43")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv43")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const two); (Ne_var "'nv43")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_var "'nv43")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_var "'nv33")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_var "'nv33")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv30"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv30")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv47")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Address"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractExtendedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)), (Id_aux( (Id "extend_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeRegExtend"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv72"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubExtendRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractShiftedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv69")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift_amount"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv147"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubShiftedRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractWithCarry"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubCarry"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalCompareImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const five); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalCompareRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalCompareRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalSelect"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "else_inv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "else_inc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalSelect"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData1Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData1Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "RevOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_RBIT"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV16"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV32"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV64"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_RBIT"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV16"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV32"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV64"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Reverse"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData1Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "CountOp"), Unknown))), Unknown)), (Id_aux( (Id "opcode"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "CountOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "CountOp_CLZ"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "CountOp_CLS"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "CountOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CountLeading"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "CountOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData2Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Division"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Shift"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv129")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv165")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv167")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv186"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv183"), (Ne_exp (Ne_var "'nv184")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "crc32c"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CRC"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData3Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyAddSub"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyAddSubLong"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyHigh"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLogicalShiftedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_ORR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_EOR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift_amount"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv112"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "invert"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LogicalShiftedRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataSIMDFPoint1"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeDataSIMDFPoint1"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataSIMDFPoint2"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeDataSIMDFPoint2"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataRegister"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLogicalShiftedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractShiftedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractExtendedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv123")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalCompareRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalCompareImmediate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalSelect"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData3Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData2Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData1Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataImmediate"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodePCRelAddressing"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLogicalImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv56")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeMoveWideImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv75")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeBitfield"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv94")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeExtract"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadsStores"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreExclusive"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadRegisterLiteral"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreNoAllocatePairOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv128")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairPostIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv214")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairPreIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnscaledImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv300")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePostIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv343")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnprivileged"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePreIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv429")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterRegisterOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv472")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnsignedImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv515")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStruct"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStruct"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystemImplementationDefined"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeSystem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeBranchesExceptionSystem"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeUnconditionalBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeCompareBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeTestBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeSystemImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decode"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataImmediate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeBranchesExceptionSystem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadsStores"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataSIMDFPoint1"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataSIMDFPoint2"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMStart"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "nesting"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<_u"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TXIDR_EL0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TXIDR_EL0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DEPTH"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec_unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TMStartEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMStartEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 10)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TMAbortEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMCommit"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "nesting"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv62")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "TMCommitEffect"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv73")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "minus_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMTest"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMAbort"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "retry"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const four), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "retry"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 9)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TMAbortEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CompareAndBranch"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv153")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchConditional"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv183")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL1"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_CallSupervisor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL2"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv260")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv262")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv259")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "hvc_enable"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HCE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HCD"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "hvc_enable"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CallHypervisor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL3"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv289")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv291")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForSMCTrap"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SMD"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CallSecureMonitor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugBreakpoint"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_SoftwareBreakpoint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Halt"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "DebugHalt_HaltInstruction"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "DCPSInstruction"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveSystemImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_SP"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Hint"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_YIELD"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Hint_Yield"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_WFE"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "EventRegistered"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ClearEventRegister"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv388")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv454")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv456")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv451")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv453")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv464")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv466")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "WaitForEvent"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_WFI"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "InterruptPending"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv469")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv471")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv537")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv539")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv534")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv547")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv549")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "WaitForInterrupt"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_SEV"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SendEvent"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_SEVL"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "EventRegisterSet"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Barrier"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_DSB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_DMB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_ISB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "InstructionSynchronizationBarrier"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "System"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SysOp_R"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SysOp_W"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveSystemRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "System_Get"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "System_Put"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "test ends"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "test begins"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "stop fetching instructions"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "thread start"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TestBitAndBranch"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv592")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv664")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExceptionReturn"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_ExceptionReturn"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rELR'"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rSPSR"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugRestorePState"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "DRPSInstruction"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadLiteral"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv743")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv767"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv767"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStoreAcqExc"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv781"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rn_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "speculate_exclusive_success"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rn_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "el1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "el2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1069")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1071")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1073")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1075")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "AArch64_ExclusiveMonitorsPass"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer_exclusive"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1077"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1077"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1078"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1078"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_SetExclusiveMonitors"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1093"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1093"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1105"), (Ne_var "'nv1106"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1099")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1139"), (Ne_var "'nv1140"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1135")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1173"), (Ne_var "'nv1174"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1169")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1209"), (Ne_var "'nv1210"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1203")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1236")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1238")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( - (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1307"), (Ne_var "'nv1308"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1302"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1302"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1333"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1333"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv1346"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1422")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1460"), (Ne_var "'nv1461"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1480")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1569"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1569"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1600"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1600"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "read_data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1692"), (Ne_var "'nv1693"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1689"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1689"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1715"), (Ne_var "'nv1716"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1709")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1798"), (Ne_var "'nv1799"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1768"), (Ne_var "'nv1769"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1744")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2304")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2346"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2361")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2408"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv2401"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv2401"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2440"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2424"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv2417"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv2417"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExtendReg"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2947")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2989"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3004")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3051"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv3044"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv3044"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3083"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3067"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv3060"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv3060"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStorePair"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3106"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4198")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4236"), (Ne_var "'nv4237"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4256")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4345"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4345"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4376"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4376"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "read_data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4468"), (Ne_var "'nv4469"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4465"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4465"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4491"), (Ne_var "'nv4492"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4485")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4574"), (Ne_var "'nv4575"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4544"), (Ne_var "'nv4545"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4520")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BitfieldMove"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "dst"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "src"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "bot"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "dst"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "src"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "top"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "bot"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "src"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "dst"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "top"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "bot"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExtractRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_constant two), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_constant two), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "concat"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4697")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4699")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "concat"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4767"); (Ne_var "'nv4768")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4739"), (Ne_var "'nv4740"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4703")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LogicalImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_AND"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_ORR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_EOR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4844")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4818"), (Ne_var "'nv4819"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4806")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_app( (Id_aux( (Id "IsZeroBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4847")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4849")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4808")); (T_arg_nexp (Ne_var "'nv4807")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv4807")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv4807")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveWide"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num fifteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fifteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4904"); (Ne_var "'nv4905")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv4901"), (Ne_var "'nv4900"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv4901"), (Ne_var "'nv4900"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Address"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "base"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( (LEXP_aux( (LEXP_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 11)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const(Nat_big_num.of_int 11)), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4957")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubExtendRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ExtendReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "2v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "3v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "2v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "3v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubShiftedRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "4v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "5v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "4v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "5v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubCarry"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "6v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "7v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "6v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "7v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "8v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "9v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "8v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "9v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalCompareRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "10v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "11v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "10v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "11v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalSelect"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Reverse"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV16"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV32"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV64"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_RBIT"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "vbit"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "vbit"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tmp"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "vsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "vbit"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5139"), (Ne_exp (Ne_var "'nv5140")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "base"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5148"), (Ne_var "'nv5149"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5176"), (Ne_var "'nv5177"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5250"); (Ne_var "'nv5251")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5224"), (Ne_var "'nv5225"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5424"), (Ne_var "'nv5425"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5394"); (Ne_var "'nv5395")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5350"), (Ne_var "'nv5351"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5438"); (Ne_var "'nv5439")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5282")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5608"), (Ne_var "'nv5609"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5578"); (Ne_var "'nv5579")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5534"), (Ne_var "'nv5535"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5622"); (Ne_var "'nv5623")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5714"); (Ne_var "'nv5715")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5688"), (Ne_var "'nv5689"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5654")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CountLeading"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "CountOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "CountOp_CLZ"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingSignBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Division"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5769"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Shift"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5799"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv5792"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CRC"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveCRCExt"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "acc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "poly"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_constant thirtytwo), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_constant thirtytwo), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tempacc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "acc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5808")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tempval"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5814")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Poly32Mod2"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tempacc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tempval"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyAddSub"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand3"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5914"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5912"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5910"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5895"), (Ne_var "'nv5896"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5861"), (Ne_var "'nv5862"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6002"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6000"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5998"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5983"), (Ne_var "'nv5984"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5947"); (Ne_var "'nv5948")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyAddSubLong"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand3"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6058"), (Ne_var "'nv6059"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv6030"), (Ne_var "'nv6031"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6126"), (Ne_var "'nv6127"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv6096"); (Ne_var "'nv6097")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyHigh"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6150"), (Ne_var "'nv6151"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LogicalShiftedRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_AND"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_ORR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_EOR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv6194"), (Ne_var "'nv6195"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6184")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_app( (Id_aux( (Id "IsZeroBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6221")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6186")); (T_arg_nexp (Ne_var "'nv6185")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv6185")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv6185")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "supported_instructions"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "supported_instructions"), Unknown)), (P_aux( (P_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -]) diff --git a/aarch64_small/armV8.sail b/aarch64_small/armV8.sail index a3082261..b2f493ad 100644 --- a/aarch64_small/armV8.sail +++ b/aarch64_small/armV8.sail @@ -33,12 +33,10 @@ /*========================================================================*/ +type RegisterSize('R: Int) -> Bool = 'R in {32, 64} +type DataSize('D: Int) -> Bool = 'D in {8, 16, 32, 64} -union ast ('R : Int, /* register size */ - 'D : Int), /* data size */ - 'R in {32, 64} & 'D in {8,16,32,64} - = -{ +union ast = { Unallocated : unit, ImplementationDefinedTestBeginEnd : boolean, ImplementationDefinedStopFetching : unit, @@ -50,7 +48,7 @@ union ast ('R : Int, /* register size */ TMAbort : (boolean,bits(5)), TMTest : unit, - CompareAndBranch : (reg_index, atom('R), boolean, bits(64)), + CompareAndBranch : {'R, RegisterSize('R). (reg_index, int('R), boolean, bits(64))}, BranchConditional : (bits(64), bits(4)), GenerateExceptionEL1 : (bits(16)), /* TODO: add to .hgen */ GenerateExceptionEL2 : (bits(16)), /* TODO: add to .hgen */ @@ -64,45 +62,45 @@ union ast ('R : Int, /* register size */ Barrier : (MemBarrierOp,MBReqDomain,MBReqTypes), System : (reg_index,uinteger,uinteger,uinteger,uinteger,uinteger,boolean), MoveSystemRegister : (reg_index,uinteger,uinteger,uinteger,uinteger,uinteger,boolean), - TestBitAndBranch : (reg_index,atom('R),uinteger,bit,bits(64)), + TestBitAndBranch : {'R 'bit_pos, RegisterSize('R) & 0 <= 'bit_pos < 'R. (reg_index,int('R),int('bit_pos),bit,bits(64))}, BranchImmediate : (BranchType,bits(64)), BranchRegister : (reg_index,BranchType), ExceptionReturn : unit, /* TODO: add to .hgen */ DebugRestorePState : unit, /* TODO: add to .hgen */ - LoadLiteral : (reg_index,MemOp,boolean,uinteger,bits(64),atom('D)), - LoadStoreAcqExc : (reg_index,reg_index,reg_index,reg_index,AccType,boolean,boolean,MemOp,uinteger,atom('R),atom('D)), - LoadStorePairNonTemp : (boolean,boolean,reg_index,reg_index,reg_index,AccType,MemOp,uinteger,atom('D),bits(64)), - LoadImmediate : (reg_index,reg_index,AccType,MemOp,boolean,boolean,boolean,bits(64),atom('R),atom('D)), - LoadRegister : (reg_index,reg_index,reg_index,AccType,MemOp,boolean,boolean,boolean,ExtendType,uinteger,atom('R),atom('D)), - LoadStorePair : (boolean,boolean,reg_index,reg_index,reg_index,AccType,MemOp,boolean,atom('D),bits(64)), - AddSubImmediate : (reg_index,reg_index,atom('R),boolean,boolean,bits('R)), - BitfieldMove : (reg_index,reg_index,atom('R),boolean,boolean,uinteger,uinteger,bits('R),bits('R)), - ExtractRegister : (reg_index,reg_index,reg_index,('R),uinteger), - LogicalImmediate : (reg_index,reg_index,('R),boolean,LogicalOp,bits('R)), - MoveWide : (reg_index,('R),bits(16),uinteger,MoveWideOp), + LoadLiteral : {'D 'size, RegisterSize('D) & 'size in {1,2,4,8/* ,16 */} & 'size * 8 == 'D. (reg_index,MemOp,boolean,atom('size),bits(64),atom('D))}, + LoadStoreAcqExc : {'D 'R 'elsize, 'D in {8, 16, 32, 64, 128} & RegisterSize('R) & 'elsize <= 'D. (reg_index,reg_index,reg_index,reg_index,AccType,boolean,boolean,MemOp,atom('elsize),atom('R),atom('D))}, + LoadStorePairNonTemp : {'D, DataSize('D). (boolean,boolean,reg_index,reg_index,reg_index,AccType,MemOp,uinteger,atom('D),bits(64))}, + LoadImmediate : {'D 'R, DataSize('D) & RegisterSize('R). (reg_index,reg_index,AccType,MemOp,boolean,boolean,boolean,bits(64),atom('R),atom('D))}, + LoadRegister : {'D 'R, DataSize('D) & RegisterSize('R). (reg_index,reg_index,reg_index,AccType,MemOp,boolean,boolean,boolean,ExtendType,range(0,3),atom('R),atom('D))}, + LoadStorePair : {'D, DataSize('D). (boolean,boolean,reg_index,reg_index,reg_index,AccType,MemOp,boolean,atom('D),bits(64))}, + AddSubImmediate : {'R, RegisterSize('R). (reg_index,reg_index,atom('R),boolean,boolean,bits('R))}, + BitfieldMove : {'R 'r 's, RegisterSize('R) & 0 <= 'r < 'R & 0 <= 's < 'R. (reg_index,reg_index,atom('R),boolean,boolean,atom('r),atom('s),bits('R),bits('R))}, + ExtractRegister : {'R 'lsb, RegisterSize('R) & 0 <= 'lsb <= 'R. (reg_index,reg_index,reg_index,atom('R),atom('lsb))}, + LogicalImmediate : {'R, RegisterSize('R). (reg_index,reg_index,atom('R),boolean,LogicalOp,bits('R))}, + MoveWide : {'R 'pos, RegisterSize('R) & 0 <= 'pos < div('R, 2). (reg_index,atom('R),bits(16),atom('pos),MoveWideOp)}, Address : (reg_index,boolean,bits(64)), - AddSubExtendRegister : (reg_index,reg_index,reg_index,atom('R),boolean,boolean,ExtendType,range(0,7)), - AddSubShiftedRegister : (reg_index,reg_index,reg_index,atom('R),boolean,boolean,ShiftType,range(0,63)), - AddSubCarry : (reg_index,reg_index,reg_index,atom('R),boolean,boolean), - ConditionalCompareImmediate : (reg_index,atom('R),boolean,bits(4),bits(4),bits('R)), - ConditionalCompareRegister : (reg_index,reg_index,atom('R),boolean,bits(4),bits(4)), - ConditionalSelect : (reg_index,reg_index,reg_index,atom('R),bits(4),boolean,boolean), - Reverse : (reg_index,reg_index,atom('R),RevOp), - CountLeading : (reg_index,reg_index,atom('R),CountOp), - Division : (reg_index,reg_index,reg_index,atom('R),boolean), - Shift : (reg_index,reg_index,reg_index,atom('R),ShiftType), - CRC : (reg_index,reg_index,reg_index,atom('D),boolean), - MultiplyAddSub : (reg_index,reg_index,reg_index,reg_index,atom('R),atom('D),boolean), - MultiplyAddSubLong : (reg_index,reg_index,reg_index,reg_index,atom('R),atom('D),boolean,boolean), - MultiplyHigh : (reg_index,reg_index,reg_index,reg_index,atom('R),atom('D),boolean), - LogicalShiftedRegister : (reg_index,reg_index,reg_index,atom('R),boolean,LogicalOp,ShiftType,range(0,63),boolean), -} - -val execute : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. ast('R,'D) -> unit effect {rreg,wreg,rmem,barr,eamem,wmv,exmem,escape} + AddSubExtendRegister : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),boolean,boolean,ExtendType,range(0,7))}, + AddSubShiftedRegister : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),boolean,boolean,ShiftType,range(0,63))}, + AddSubCarry : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),boolean,boolean)}, + ConditionalCompareImmediate : {'R, RegisterSize('R). (reg_index,atom('R),boolean,bits(4),bits(4),bits('R))}, + ConditionalCompareRegister : {'R, RegisterSize('R). (reg_index,reg_index,atom('R),boolean,bits(4),bits(4))}, + ConditionalSelect : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),bits(4),boolean,boolean)}, + Reverse : {'R, RegisterSize('R). (reg_index,reg_index,atom('R),RevOp)}, + CountLeading : {'R, RegisterSize('R). (reg_index,reg_index,atom('R),CountOp)}, + Division : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),boolean)}, + Shift : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),ShiftType)}, + CRC : {'D, DataSize('D). (reg_index,reg_index,reg_index,atom('D),boolean)}, + MultiplyAddSub : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,reg_index,atom('R),atom('R),boolean)}, + MultiplyAddSubLong : {'D 'R, DataSize('D) & RegisterSize('R). (reg_index,reg_index,reg_index,reg_index,atom('R),atom('D),boolean,boolean)}, + MultiplyHigh : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,reg_index,atom('R),atom('R),boolean)}, + LogicalShiftedRegister : {'R, RegisterSize('R). (reg_index,reg_index,reg_index,atom('R),boolean,LogicalOp,ShiftType,range(0,63),boolean)}, +} + +val execute : ast -> unit effect {rreg,wreg,rmem,barr,eamem,wmv,exmem,escape} scattered function execute /* TSTART - dummy decoding */ -val decodeTMStart : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. bits(5) -> option (ast('R,'D)) +val decodeTMStart : bits(5) -> option (ast) function decodeTMStart (Rt) = { t : reg_index = UInt_reg(Rt); Some(TMStart(t)); @@ -112,97 +110,91 @@ function decodeTMStart (Rt) = { function clause execute (TMStart(t)) = { nesting : bits(8) = TxNestingLevel; - if nesting <_u TXIDR_EL0.DEPTH then { + if nesting <_u TXIDR_EL0.DEPTH() then { TxNestingLevel = nesting + 1; - status : bits(64) = 0; - if nesting == 0 then - status = TMStartEffect; /* fake effect */ + status : bits(64) = Zeros(); + if nesting == 0b00000000 then + status = TMStartEffect.bits(); /* fake effect */ wX(t) = status; } else { - status : bits(64) = 0; - status[10] = 1; /* set the NEST bit */ - TMAbortEffect = status; /* fake effect */ + status : bits(64) = Zeros(); + status[10] = b1; /* set the NEST bit */ + TMAbortEffect->bits() = status; /* fake effect */ } } /* external */ val TMCommitEffect : unit -> unit effect {barr} /* TCOMMIT - dummy decoding */ -val decodeTMCommit : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - unit -> option(ast('R,'D)) effect pure -function decodeTMCommit () = { - Some(TMCommit); -} +val decodeTMCommit : unit -> option(ast) effect pure +function decodeTMCommit () = + Some(TMCommit()) + /* transactional memory, not part of the official spec */ -function clause execute (TMCommit) = { +function clause execute (TMCommit()) = { nesting : bits(8) = TxNestingLevel; - if nesting == 1 then + if nesting == 0b00000001 then TMCommitEffect() /* fake effect */ - else if nesting == 0 then + else if nesting == 0b00000000 then AArch64_UndefinedFault(); TxNestingLevel = nesting - 1; } /* TTEST - dummy decoding */ -val decodeTMTest : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - unit -> option(ast('R,'D)) effect pure -function decodeTMTest () = { - Some(TMTest); -} +val decodeTMTest : unit -> option(ast) effect pure +function decodeTMTest () = + Some(TMTest()) + /* transactional memory, not part of the official spec */ -function clause execute (TMTest) = { - if TxNestingLevel > 0 then +function clause execute (TMTest()) = { + if 0b00000000 <_u TxNestingLevel then wPSTATE_NZCV() = 0b0000 else wPSTATE_NZCV() = 0b0100 } /* TABORT - dummy decoding */ -val decodeTMAbort : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(6) -> option(ast('R,'D)) effect pure +val decodeTMAbort : bits(6) -> option(ast) effect pure function decodeTMAbort ([R] @ (imm5 : bits(5))) = { Some(TMAbort(R,imm5)); } /* transactional memory, not part of the official spec */ function clause execute (TMAbort(retry,reason)) = { - if TxNestingLevel > 0 then { - status : bits(64) = 0; + if 0b00000000 <_u TxNestingLevel then { + status : bits(64) = Zeros(); status[4..0] = reason; /* REASON */ status[8] = retry; /* RTRY */ - status[9] = 1; /* ABRT */ - TMAbortEffect = status; /* fake effect */ + status[9] = b1; /* ABRT */ + TMAbortEffect->bits() = status; /* fake effect */ }; } /* CBNZ */ /* CBZ */ -val decodeCompareBranchImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeCompareBranchImmediate ([sf]@0b011010@[op]@(imm19:bits(19))@Rt) = { +val decodeCompareBranchImmediate : bits(32) -> option(ast) effect {escape} +function decodeCompareBranchImmediate ([sf]@0b011010@[op]@(imm19:bits(19))@(Rt:bits(5))) = { t : reg_index = UInt_reg(Rt); - datasize : atom('R) = if sf == 1 then 64 else 32; - iszero : boolean = (op == 0); + datasize : {|32,64|} = if sf == b1 then 64 else 32; + iszero : boolean = (op == b0); offset : bits(64) = SignExtend(imm19@0b00); Some(CompareAndBranch(t,datasize,iszero,offset)); } -function clause execute (CompareAndBranch(t,datasize,iszero,offset)) = { - operand1 : bits('R) = rX(t); +function clause execute (CompareAndBranch((t,(datasize as atom('R)),iszero,offset))) = { + operand1 : bits('R) = rX(datasize,t); if IsZero(operand1) == iszero then BranchTo(rPC() + offset, BranchType_JMP); } /* B.cond */ -val decodeConditionalBranchImmediate: forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeConditionalBranchImmediate (0b0101010@0b0@(imm19 : bits(19))@0b0@ _cond) = -{ +val decodeConditionalBranchImmediate: bits(32) -> option(ast) effect {escape} +function decodeConditionalBranchImmediate (0b0101010@0b0@(imm19 : bits(19))@0b0@(_cond : bits(4))) = { offset : bits(64) = SignExtend(imm19@0b00); condition : bits(4) = _cond; @@ -215,8 +207,7 @@ function clause execute (BranchConditional(offset,condition)) = { } -val decodeExceptionGeneration : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeExceptionGeneration : bits(32) -> option(ast) effect {escape} scattered function decodeExceptionGeneration /* SVC */ @@ -237,11 +228,11 @@ function clause decodeExceptionGeneration (0b11010100@0b000@(imm16 : bits(16))@0 function clause execute (GenerateExceptionEL2(imm)) = { - if ~(HaveEL(EL2)) | PSTATE_EL == EL0 | (PSTATE_EL == EL1 & IsSecure()) then + if ~(HaveEL(EL2)) | PSTATE_EL() == EL0 | (PSTATE_EL() == EL1 & IsSecure()) then UnallocatedEncoding(); - - hvc_enable : bit = if HaveEL(EL3) then SCR_EL3.HCE else NOT'(HCR_EL2.HCD); - if hvc_enable == 0 then + /* CP: extracting bit 0 to convert from bitvector length 1 to bit */ + hvc_enable : bit = if HaveEL(EL3) then (SCR_EL3.HCE())[0] else NOT'(HCR_EL2.HCD()[0]); + if hvc_enable == b0 then AArch64_UndefinedFault() else AArch64_CallHypervisor(imm); @@ -254,12 +245,12 @@ function clause decodeExceptionGeneration (0b11010100@0b000@(imm16 : bits(16))@0 } function clause execute (GenerateExceptionEL3(imm)) = { - if ~(HaveEL(EL3)) | PSTATE_EL == EL0 then + if ~(HaveEL(EL3)) | PSTATE_EL() == EL0 then UnallocatedEncoding(); AArch64_CheckForSMCTrap(imm); - if SCR_EL3.SMD == 1 then + if SCR_EL3.SMD() == 0b1 then /* SMC disabled */ AArch64_UndefinedFault() else @@ -281,11 +272,11 @@ function clause decodeExceptionGeneration (0b11010100@0b010@(imm16 : bits(16))@0 /* FIXME: we don't allow register reads in the decoding, but we probably should */ /* ARM: if EDSCR.HDE == 0 | ~(HaltingAllowed()) then AArch64_UndefinedFault(); /* ARM: UndefinedFault() */ */ - Some(ExternalDebugBreakpoint); + Some(ExternalDebugBreakpoint()); } -function clause execute (ExternalDebugBreakpoint) = { +function clause execute (ExternalDebugBreakpoint()) = { Halt(DebugHalt_HaltInstruction); } @@ -307,17 +298,16 @@ function clause execute (DebugSwitchToExceptionLevel(target_level)) = { end decodeExceptionGeneration -val decodeSystem : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeSystem : bits(32) -> option(ast) effect {escape} scattered function decodeSystem /* MSR (immediate) */ -function clause decodeSystem (0b1101010100@[0]@0b00@(op1 : bits(3))@0b0100@CRm@(op2 : bits(3))@0b11111) = { +function clause decodeSystem (0b1101010100@0b0@0b00@(op1 : bits(3))@0b0100@(CRm : bits(4))@(op2 : bits(3))@0b11111) = { /* FIXME: we don't allow register reads in the decoding */ /* ARM: CheckSystemAccess(0b00, op1, 0b0100, CRm, op2, 0b11111, 0); */ operand : bits(4) = CRm; - field : PSTATEField = 0; /* ARM: uninitialized */ + field : PSTATEField = PSTATEField_DAIFSet; /* ARM: uninitialized */ match op1@op2 { (0b000@0b101) => field = PSTATEField_SP, (0b011@0b110) => field = PSTATEField_DAIFSet, @@ -339,23 +329,23 @@ function clause execute ( MoveSystemImmediate(operand,field) ) = { match field { PSTATEField_SP => PSTATE_SP = operand[0], PSTATEField_DAIFSet => { - PSTATE_D = (PSTATE_D | operand[3]); - PSTATE_A = (PSTATE_A | operand[2]); - PSTATE_I = (PSTATE_I | operand[1]); - PSTATE_F = (PSTATE_F | operand[0]); + PSTATE_D() = (PSTATE_D() | [operand[3]]); + PSTATE_A() = (PSTATE_A() | [operand[2]]); + PSTATE_I() = (PSTATE_I() | [operand[1]]); + PSTATE_F() = (PSTATE_F() | [operand[0]]); }, PSTATEField_DAIFClr => { - PSTATE_D = (PSTATE_D & NOT'(operand[3])); - PSTATE_A = (PSTATE_A & NOT'(operand[2])); - PSTATE_I = (PSTATE_I & NOT'(operand[1])); - PSTATE_F = (PSTATE_F & NOT'(operand[0])); + PSTATE_D = (PSTATE_D() & [NOT'(operand[3])]); + PSTATE_A = (PSTATE_A() & [NOT'(operand[2])]); + PSTATE_I = (PSTATE_I() & [NOT'(operand[1])]); + PSTATE_F = (PSTATE_F() & [NOT'(operand[0])]); } } } /* HINT */ -function clause decodeSystem (0b1101010100@[0]@0b00@0b011@0b0010@(CRm : bits(4))@(op2 : bits(3))@0b11111) = { - op : SystemHintOp = 0; /* ARM: uninitialized */ +function clause decodeSystem (0b1101010100@0b0@0b00@0b011@0b0010@(CRm : bits(4))@(op2 : bits(3))@0b11111) = { + op : SystemHintOp = SystemHintOp_NOP; /* ARM: uninitialized */ match CRm@op2 { (0b0000@0b000) => op = SystemHintOp_NOP, @@ -379,11 +369,11 @@ function clause execute ( Hint(op) ) = { if EventRegistered() then ClearEventRegister() else { - if PSTATE_EL == EL0 then + if PSTATE_EL() == EL0 then AArch64_CheckForWFxTrap(EL1, true); - if HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL == EL0 | PSTATE_EL == EL1) then + if HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL() == EL0 | PSTATE_EL() == EL1) then AArch64_CheckForWFxTrap(EL2, true); - if HaveEL(EL3) & PSTATE_EL != EL3 then + if HaveEL(EL3) & PSTATE_EL() != EL3 then AArch64_CheckForWFxTrap(EL3, true); WaitForEvent(); } @@ -391,11 +381,11 @@ function clause execute ( Hint(op) ) = { SystemHintOp_WFI => { if ~(InterruptPending()) then { - if PSTATE_EL == EL0 then + if PSTATE_EL() == EL0 then AArch64_CheckForWFxTrap(EL1, false); - if HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL == EL0 | PSTATE_EL == EL1) then + if HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL() == EL0 | PSTATE_EL() == EL1) then AArch64_CheckForWFxTrap(EL2, false); - if HaveEL(EL3) & PSTATE_EL != EL3 then + if HaveEL(EL3) & PSTATE_EL() != EL3 then AArch64_CheckForWFxTrap(EL3, false); WaitForInterrupt(); }; @@ -412,9 +402,9 @@ function clause execute ( Hint(op) ) = { } /* CLREX */ -function clause decodeSystem (0b1101010100@[0]@0b00@0b011@0b0011@(CRm : bits(4))@0b010@0b11111) = { +function clause decodeSystem (0b1101010100@0b0@0b00@0b011@0b0011@(CRm : bits(4))@0b010@0b11111) = { /* ARM: // CRm field is ignored */ - imm : uinteger = CRm; /* we need CRm for pretty printing */ + imm : uinteger = UInt(CRm); /* we need CRm for pretty printing */ Some(ClearExclusiveMonitor(imm)); } @@ -425,12 +415,12 @@ function clause execute (ClearExclusiveMonitor(imm)) = { /* DMB opc=0b01*/ /* DSB opc=0b00*/ /* ISB opc=0b10*/ -function clause decodeSystem (0b1101010100@[0]@0b00@0b011@0b0011@(CRm : bits(4))@[1]@opc@0b11111) = { +function clause decodeSystem (0b1101010100@0b0@0b00@0b011@0b0011@(CRm : bits(4))@0b1@(opc : bits(2))@0b11111) = { /* TODO: according to ARM, HCR_EL2.BSU affect the domain, but the pseudo code doesn't show any signs of that */ - op : MemBarrierOp = 0; /* ARM: uninitialized */ - domain : MBReqDomain = 0; /* ARM: uninitialized */ - types : MBReqTypes = 0; /* ARM: uninitialized */ + op : MemBarrierOp = MemBarrierOp_DSB; /* ARM: uninitialized */ + domain : MBReqDomain = MBReqDomain_Nonshareable; /* ARM: uninitialized */ + types : MBReqTypes = MBReqTypes_Reads; /* ARM: uninitialized */ match opc { 0b00 => op = MemBarrierOp_DSB, @@ -472,7 +462,7 @@ function clause execute ( Barrier(op,domain,types) ) = { /* SYS L=0b0 */ /* SYSL L=0b1 */ -function clause decodeSystem (0b1101010100@[L]@0b01@(op1 : bits(3))@(CRn : bits(4))@(CRm : bits(4))@(op2 : bits(3))@Rt) = { +function clause decodeSystem (0b1101010100@[L]@0b01@(op1 : bits(3))@(CRn : bits(4))@(CRm : bits(4))@(op2 : bits(3))@(Rt:bits(5))) = { /* FIXME: we don't allow register reads in the decoding */ /* ARM: CheckSystemAccess(0b01, op1, CRn, CRm, op2, Rt, L);*/ @@ -483,7 +473,7 @@ function clause decodeSystem (0b1101010100@[L]@0b01@(op1 : bits(3))@(CRn : bits( sys_op2 : uinteger = UInt(op2); sys_crn : uinteger = UInt(CRn); sys_crm : uinteger = UInt(CRm); - has_result : boolean = (L == 1); + has_result : boolean = (L == b1); Some(System(t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result)); } @@ -498,7 +488,7 @@ function clause execute ( System(t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_r /* MRS L=1 */ /* MSR (register) L=0 */ -function clause decodeSystem (0b1101010100@[L]@[1]@[o0]@(op1 : bits(3))@(CRn : bits(4))@(CRm : bits(4))@(op2 : bits(3))@Rt) = { +function clause decodeSystem (0b1101010100@[L]@0b1@[o0]@(op1 : bits(3))@(CRn : bits(4))@(CRm : bits(4))@(op2 : bits(3))@(Rt:bits(5))) = { /* FIXME: we don't allow register reads in the decoding */ /* ARM: CheckSystemAccess([0b1]:[o0], op1, CRn, CRm, op2, Rt, L); */ @@ -509,7 +499,7 @@ function clause decodeSystem (0b1101010100@[L]@[1]@[o0]@(op1 : bits(3))@(CRn : b sys_op2 : uinteger = UInt(op2); sys_crn : uinteger = UInt(CRn); sys_crm : uinteger = UInt(CRm); - read : boolean = (L == 1); + read : boolean = (L == b1); Some(MoveSystemRegister(t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read)); } @@ -523,12 +513,11 @@ function clause execute ( MoveSystemRegister(t,sys_op0,sys_op1,sys_op2,sys_crn,s end decodeSystem -val decodeImplementationDefined : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeImplementationDefined : bits(32) -> option(ast) effect pure scattered function decodeImplementationDefined /* instructions to signal to Sail that test begins/ends */ -function clause decodeImplementationDefined (0b1101010100@[0]@0b01@0b011@[1]@[_]@0b11@0b0000@0b000@0b0000@[isEnd]) = { +function clause decodeImplementationDefined (0b1101010100@0b0@0b01@0b011@0b1@[_]@0b11@0b0000@0b000@0b0000@[isEnd]) = { Some(ImplementationDefinedTestBeginEnd(isEnd)); } @@ -540,20 +529,20 @@ function clause execute ( ImplementationDefinedTestBeginEnd(isEnd) ) = { } /* instructions to signal ppcmem to stop fetching */ -function clause decodeImplementationDefined (0b1101010100@[0]@0b01@0b011@[1]@[_]@0b11@0b0000@0b000@0b00010) = { - Some(ImplementationDefinedStopFetching) +function clause decodeImplementationDefined (0b1101010100@0b0@0b01@0b011@0b1@[_]@0b11@0b0000@0b000@0b00010) = { + Some(ImplementationDefinedStopFetching()) } -function clause execute ( ImplementationDefinedStopFetching ) = { +function clause execute ( ImplementationDefinedStopFetching() ) = { info("stop fetching instructions"); } /* instructions to signal ppcmem to start a thread */ -function clause decodeImplementationDefined (0b1101010100@[0]@0b01@0b011@[1]@[_]@0b11@0b0000@0b000@0b00011) = { - Some(ImplementationDefinedThreadStart) +function clause decodeImplementationDefined (0b1101010100@0b0@0b01@0b011@0b1@[_]@0b11@0b0000@0b000@0b00011) = { + Some(ImplementationDefinedThreadStart()) } -function clause execute ( ImplementationDefinedThreadStart ) = { +function clause execute ( ImplementationDefinedThreadStart() ) = { info("thread start"); } @@ -561,21 +550,25 @@ end decodeImplementationDefined /* TBNZ */ /* TBZ */ -val decodeTestBranchImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} -function decodeTestBranchImmediate ([b5]@0b011011@[op]@(b40 : bits(5))@(imm14 : bits(14))@Rt) = { +val decodeTestBranchImmediate : bits(32) -> option(ast) effect {escape} +function decodeTestBranchImmediate ([b5]@0b011011@[op]@(b40 : bits(5))@(imm14 : bits(14))@(Rt:bits(5))) = { t : reg_index = UInt_reg(Rt); - datasize : atom('R) = if b5 == 1 then 64 else 32; - bit_pos : uinteger = UInt([b5]:b40); + let datasize : {| 32, 64 |} /* as atom('R) */ = if b5 == b1 then 64 else 32; + let bit_pos : uinteger = UInt([b5]@b40); bit_val : bit = op; offset : bits(64) = SignExtend(imm14@0b00); - Some(TestBitAndBranch(t,datasize,bit_pos,bit_val,offset)); + assert(bit_pos <= datasize - 1); + + Some(TestBitAndBranch((t,datasize,bit_pos,bit_val,offset))); } -function clause execute ( TestBitAndBranch(t,datasize,bit_pos,bit_val,offset) ) = { - operand : bits('R) = rX(t); +function clause execute ( TestBitAndBranch((t:reg_index,datasize as atom('R),bit_pos,bit_val,offset)) ) = { + + /* assert ('R == 32 | 'R == 64); */ + + let operand : bits('R) = rX(t); if operand[bit_pos] == bit_val then BranchTo(rPC() + offset, BranchType_JMP); @@ -583,10 +576,9 @@ function clause execute ( TestBitAndBranch(t,datasize,bit_pos,bit_val,offset) ) /* B */ /* BL */ -val decodeUnconditionalBranchImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeUnconditionalBranchImmediate : bits(32) -> option(ast) effect {escape} function decodeUnconditionalBranchImmediate ([op]@0b00101@(imm26 : bits(26))) = { - branch_type : BranchType = if op == 1 then BranchType_CALL else BranchType_JMP; + branch_type : BranchType = if op == b1 then BranchType_CALL else BranchType_JMP; offset : bits(64) = SignExtend(imm26@0b00); Some(BranchImmediate(branch_type,offset)); @@ -599,16 +591,15 @@ function clause execute (BranchImmediate(branch_type,offset)) = { } -val decodeUnconditionalBranchRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeUnconditionalBranchRegister : bits(32) -> option(ast) effect {escape} scattered function decodeUnconditionalBranchRegister /* BLR */ /* BR */ /* RET */ -function clause decodeUnconditionalBranchRegister (0b1101011@0b00@op@0b11111@0b000000@Rn@0b00000) = { +function clause decodeUnconditionalBranchRegister (0b1101011@0b00@(op : bits(2))@0b11111@0b000000@(Rn : bits(5))@0b00000) = { n : reg_index = UInt_reg(Rn); - branch_type : BranchType = 0; /* ARM: uninitialized */ + branch_type : BranchType = BranchType_CALL; /* ARM: uninitialized */ match op { 0b00 => branch_type = BranchType_JMP, @@ -632,10 +623,10 @@ function clause decodeUnconditionalBranchRegister (0b1101011@0b0100@0b11111@0b00 /* FIXME: we don't allow register reads in the decoding */ /* ARM: if PSTATE_EL == EL0 then UnallocatedEncoding(); */ - Some(ExceptionReturn); + Some(ExceptionReturn()); } -function clause execute (ExceptionReturn) = { +function clause execute (ExceptionReturn()) = { AArch64_ExceptionReturn(rELR'(), rSPSR()); } @@ -644,54 +635,49 @@ function clause decodeUnconditionalBranchRegister (0b1101011@0b0101@0b11111@0b00 /* FIXME: we don't allow register reads in the decoding */ /* ARM: if ~(Halted()) | PSTATE_EL == EL0 then UnallocatedEncoding(); */ - Some(DebugRestorePState); + Some(DebugRestorePState()); } -function clause execute (DebugRestorePState) = { +function clause execute (DebugRestorePState()) = { DRPSInstruction(); } end decodeUnconditionalBranchRegister -val decodeAdvSIMDLoadStoreMultiStruct : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeAdvSIMDLoadStoreMultiStruct : bits(32) -> option(ast) effect {escape} function decodeAdvSIMDLoadStoreMultiStruct (machineCode) = { not_implemented("decodeAdvSIMDLoadStoreMultiStruct"); - Some(Unallocated); + Some(Unallocated()); } -val decodeAdvSIMDLoadStoreMultiStructPostIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeAdvSIMDLoadStoreMultiStructPostIndexed : bits(32) -> option(ast) effect {escape} function decodeAdvSIMDLoadStoreMultiStructPostIndexed (machineCode) = { not_implemented("decodeAdvSIMDLoadStoreMultiStructPostIndexed"); - Some(Unallocated); + Some(Unallocated()); } -val decodeAdvSIMDLoadStoreSingleStruct : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeAdvSIMDLoadStoreSingleStruct : bits(32) -> option(ast) effect {escape} function decodeAdvSIMDLoadStoreSingleStruct (machineCode) = { not_implemented("decodeAdvSIMDLoadStoreSingleStruct"); - Some(Unallocated); + Some(Unallocated()); } -val decodeAdvSIMDLoadStoreSingleStructPostIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeAdvSIMDLoadStoreSingleStructPostIndexed : bits(32) -> option(ast) effect {escape} function decodeAdvSIMDLoadStoreSingleStructPostIndexed (machineCode) = { not_implemented("decodeAdvSIMDLoadStoreSingleStructPostIndexed"); - Some(Unallocated); + Some(Unallocated()); } /* LDR (literal) opc=0b0_ */ /* LDRSW (literal) opc=0b10 */ /* PRFM (literal) opc=0b11 */ -val decodeLoadRegisterLiteral : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) -function decodeLoadRegisterLiteral ((opc : bits(2))@0b011@[0]@0b00@(imm19 : bits(19))@Rt) = { +val decodeLoadRegisterLiteral : bits(32) -> option(ast) effect {escape} +function decodeLoadRegisterLiteral ((opc : bits(2))@0b011@0b0@0b00@(imm19 : bits(19))@(Rt:bits(5))) = { t : reg_index = UInt_reg(Rt); memop : MemOp = MemOp_LOAD; _signed : boolean = false; - size : uinteger = 0; /* ARM: uninitialized */ - offset : bits(64) = 4; /* ARM: uninitialized */ + size : {|4,8|} = 4; /* ARM: uninitialized */ + /* offset : bits(64) = Zeros(); /\* ARM: uninitialized *\/ */ match opc { 0b00 => @@ -706,30 +692,34 @@ function decodeLoadRegisterLiteral ((opc : bits(2))@0b011@[0]@0b00@(imm19 : bit memop = MemOp_PREFETCH }; - offset = SignExtend(imm19@0b00); + offset : bits(64) = SignExtend(imm19@0b00); - datasize : atom('D) = size*8; /* not in ARM ARM */ + /* CP: adding let bindings so typechecker has more information */ + let size = size; + let datasize /* as atom('D) */ = size*8; /* not in ARM ARM */ Some(LoadLiteral(t,memop,_signed,size,offset,datasize)); } -function clause execute ( LoadLiteral(t,memop,_signed,size,offset,(datasize : atom('D))) ) = { +function clause execute ( LoadLiteral((t,memop,_signed,size,offset,(datasize as atom('D)) )) ) = { address : bits(64) = rPC() + offset; - data : bits('D) = 0; /* ARM: uninitialized */ - + let data = Zeros(datasize); /* ARM: uninitialized */ match memop { MemOp_LOAD => { - data = flush_read_buffer( + let data = flush_read_buffer( rMem(empty_read_buffer, address, size, AccType_NORMAL), size ); - if _signed then + if _signed then { + assert (size <= 4); /* FIXME: CP: adding assertion so it typechecks. This could be dealt with by capturing the relation of size and _signed in the type of LoadLiteral. */ wX(t) = SignExtend(data) : bits(64) + } else wX(t) = data; }, MemOp_PREFETCH => - Prefetch(address,t : bits(5)) + Prefetch(address,to_bits(t) : bits(5)), + _ => exit() }; } @@ -755,35 +745,38 @@ function clause execute ( LoadLiteral(t,memop,_signed,size,offset,(datasize : at /* STXR size=0b1_,o2=0,L=0,o1=0,o0=0, rt2=(1)(1)(1)(1)(1) */ /* STXRB size=0b00,o2=0,L=0,o1=0,o0=0, rt2=(1)(1)(1)(1)(1) */ /* STXRH size=0b01,o2=0,L=0,o1=0,o0=0, rt2=(1)(1)(1)(1)(1) */ -val decodeLoadStoreExclusive : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreExclusive ((size : bits(2))@0b001000@[o2]@[L]@[o1]@Rs@[o0]@Rt2@Rn@Rt) = { - n : reg_index = UInt_reg(Rn); - t : reg_index = UInt_reg(Rt); - t2 : reg_index = UInt_reg(Rt2); /* ignored by load/store single register */ - s : reg_index= UInt_reg(Rs); /* ignored by all loads and store-release */ +val decodeLoadStoreExclusive : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreExclusive ((size : bits(2))@0b001000@[o2]@[L]@[o1]@(Rs:bits(5))@[o0]@(Rt2:bits(5))@(Rn:bits(5))@(Rt:bits(5))) = { + let n : reg_index = UInt_reg(Rn); + let t : reg_index = UInt_reg(Rt); + let t2 : reg_index = UInt_reg(Rt2); /* ignored by load/store single register */ + let s : reg_index= UInt_reg(Rs); /* ignored by all loads and store-release */ if ([o2,o1,o0]) == 0b100 | ([o2,o1] == 0b11) then UnallocatedEncoding(); - if o1 == 1 & size[1] == 0 then UnallocatedEncoding(); + if o1 == b1 & size[1] == b0 then UnallocatedEncoding(); - acctype : AccType = if o0 == 1 then AccType_ORDERED else AccType_ATOMIC; - excl : boolean = (o2 == 0); - pair : boolean = (o1 == 1); - memop : MemOp = if L == 1 then MemOp_LOAD else MemOp_STORE; - elsize = lsl(8, UInt(size)); - regsize : atom('R) = if elsize == 64 then 64 else 32; - datasize : atom('D) = if pair then elsize * 2 else elsize; + let acctype : AccType = if o0 == b1 then AccType_ORDERED else AccType_ATOMIC; + let excl : boolean = (o2 == b0); + let pair : boolean = (o1 == b1); + let memop : MemOp = if L == b1 then MemOp_LOAD else MemOp_STORE; + let size_uint as atom('size) = UInt(size); + let elsize : atom(8 * (2 ^ 'size)) = lsl(8, size_uint); + let elsize as atom('elsize) = elsize; + assert(elsize == 8 | elsize == 16 | elsize == 32 | elsize == 64); /*FIXME: CP: adding assertion to make typecheck*/ + + let regsize as atom('R) = if elsize == 64 then 64 else 32; + let datasize : {'n, 'n in {8,16,32,64,128} & 'elsize <= 'n. atom('n)} = if pair then elsize * 2 else elsize; /* lemma: pair --> datasize = 2*regsize */ /* follows from "if o1 == 1 & size[1] == 0 then UnallocatedEncoding();" */ - Some(LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize)); + Some(LoadStoreAcqExc((n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))); } -function clause execute ( LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,(datasize :atom('D)) )) = { - address : bits(64) = 0; /* ARM: uninitialized */ - data : bits('D) = 0; /* ARM: uninitialized */ - /*constant*/ dbytes : uinteger = quot (datasize,8); +function clause execute ( LoadStoreAcqExc((n,t,t2,s,acctype,excl,pair,memop,elsize,(regsize as atom('R)),(datasize as atom('D)) ))) = { + address : bits(64) = Zeros(); /* ARM: uninitialized */ + data : bits('D) = Zeros(datasize); /* ARM: uninitialized */ + /*constant*/ dbytes : atom(div('D,8)) = quot (datasize,8); rt_unknown : boolean = false; rn_unknown : boolean = false; @@ -825,22 +818,22 @@ function clause execute ( LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsiz /* this is a hack to allow the result of store-exclusive to be observed before anything else */ - status : bit = 0; + status : bit = b0; if memop == MemOp_STORE & excl then { - /*(bit)*/ status = if speculate_exclusive_success() then 0 else 1; + /*(bit)*/ status = if speculate_exclusive_success() then b0 else b1; wX(s) = ZeroExtend([status]) : bits(32); /* should be: if status == 1 then return (); */ }; - if status == 1 then () else { + if status == b1 then () else { if n == 31 then { CheckSPAlignment(); address = rSP(); } else if rn_unknown then - address = UNKNOWN : bits(64) + address = UNKNOWN_BITS() : bits(64) else address = rX(n); @@ -849,19 +842,24 @@ function clause execute ( LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsiz /* anounce the address */ wMem_Addr(address, dbytes, acctype, excl); - if rt_unknown then - data = UNKNOWN : bits('D) + if rt_unknown then { + assert( pair == false & datasize < 128); /* FIXME: CP adding assertion so it typechecks: this should not happen: rt_unknown apparently false in the non-pair case */ + data = UNKNOWN_BITS(datasize) /* : bits('D) */ + } else if pair then { - assert( excl, None ); - el1 : bits('R) = rX(t); /* ARM: bits(datasize / 2) see lemma in the decoding */ - el2 : bits('R) = rX(t2); /* ARM: bits(datasize / 2) see lemma in the decoding */ - data = if BigEndian() then el1:el2 else el2:el1; - } else + let halfsize : atom(div('D,2)) = quot(datasize,2); + assert( excl ); /* FIXME: CP adding assertion: in the 'pair' case datasize > 8 */ + assert(datasize > 8); + el1 /* : bits('R) */ = rX(halfsize/* regsize */,t); /* ARM: bits(datasize / 2) see lemma in the decoding */ + el2 /* : bits('R) */ = rX(halfsize/* regsize */,t2); /* ARM: bits(datasize / 2) see lemma in the decoding */ + data = if BigEndian() then el1@el2 else el2@el1; + } else { + assert(datasize < 128); /* FIXME: CP adding assertion: in the non-'pair' case datasize < 128 */ data : bits('D) = rX(t); - + }; if excl then { /* store {release} exclusive register|pair (atomic) */ - status : bit = 1; + status : bit = b1; /* Check whether the Exclusive Monitors are set to include the */ /* physical memory locations corresponding to virtual address */ /* range [address, address+dbytes-1]. */ @@ -897,16 +895,19 @@ function clause execute ( LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsiz if pair then { /* load exclusive pair */ - assert( excl, None ); - if rt_unknown then + assert( excl ); + if rt_unknown then { + assert( pair == false & datasize < 128); /* FIXME: CP adding assertion so it typechecks: this should not happen: rt_unknown apparently false in the non-pair case */ /* ConstrainedUNPREDICTABLE case */ - wX(t) = UNKNOWN : bits('D) + wX(t) = UNKNOWN_BITS() : bits('D) + } else if elsize == 32 then { /* 32-bit load exclusive pair (atomic) */ data = flush_read_buffer( rMem_exclusive(empty_read_buffer, address, dbytes, acctype), dbytes ); + assert(datasize == 64); /* FIXME: CP adding assertion so it typechecks: in the 'pair' case elsize*2 == datasize */ if BigEndian() then { wX(t) = data[(datasize - 1)..elsize]; wX(t2) = data[(elsize - 1)..0]; @@ -934,18 +935,19 @@ function clause execute ( LoadStoreAcqExc(n,t,t2,s,acctype,excl,pair,memop,elsiz rMem'(empty_read_buffer, address, dbytes, acctype, excl), dbytes ); + assert (regsize >= datasize); /* FIXME: CP adding assertion so it typechecks: in the non-'pair' case regsize >= datasize */ wX(t) = ZeroExtend(data) : bits('R); }; - } + }, + _ => exit() }; }; } /* LDNP */ /* STNP */ -val decodeLoadStoreNoAllocatePairOffset : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreNoAllocatePairOffset ((opc : bits(2))@0b101@[0]@0b000@[L]@(imm7 : bits(7))@Rt2@Rn@Rt) = { +val decodeLoadStoreNoAllocatePairOffset : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreNoAllocatePairOffset ((opc : bits(2))@0b101@0b0@0b000@[L]@(imm7 : bits(7))@(Rt2:bits(5))@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; @@ -955,20 +957,21 @@ function decodeLoadStoreNoAllocatePairOffset ((opc : bits(2))@0b101@[0]@0b000@[L t : reg_index = UInt_reg(Rt); t2 : reg_index = UInt_reg(Rt2); acctype : AccType = AccType_STREAM; - memop : MemOp = if L == 1 then MemOp_LOAD else MemOp_STORE; - if opc[0] == 1 then UnallocatedEncoding(); - scale : uinteger = 2 + UInt([opc[1]]); - datasize : atom('D) = lsl(8, scale); + memop : MemOp = if L == b1 then MemOp_LOAD else MemOp_STORE; + if opc[0] == b1 then UnallocatedEncoding(); + let scale : {| 2, 3 |} = 2 + UInt([opc[1]]); + let datasize /* : {| 32,64 |} */ /* as atom('D) */ = lsl(8, scale); + assert(datasize == 32 | datasize == 64); /*FIXME: CP adding assertion to make typecheck*/ offset : bits(64) = LSL(SignExtend(imm7), scale); Some(LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset)); } -function clause execute ( LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,memop,scale,(datasize : atom('D)),offset) ) = { - address : bits(64) = 0; /* ARM: uninitialized */ - data1 : bits('D) = 0; /* ARM: uninitialized */ - data2 : bits('D) = 0; /* ARM: uninitialized */ - /*constant*/ dbytes : uinteger = quot(datasize,8); +function clause execute ( LoadStorePairNonTemp((wback,postindex,n,t,t2,acctype,memop,scale,(datasize as atom('D)),offset)) ) = { + address : bits(64) = Zeros(); /* ARM: uninitialized */ + data1 : bits('D) = Zeros(); /* ARM: uninitialized */ + data2 : bits('D) = Zeros(); /* ARM: uninitialized */ + /*constant*/ dbytes : atom(div('D,8)) = quot(datasize,8); rt_unknown : boolean = false; if memop == MemOp_LOAD & t == t2 then { @@ -1009,11 +1012,11 @@ function clause execute ( LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,me match memop { MemOp_STORE => { if rt_unknown & t == n then - data1 = UNKNOWN : bits('D) + data1 = UNKNOWN_BITS() : bits('D) else data1 = rX(t); if rt_unknown & t2 == n then - data2 = UNKNOWN : bits('D) + data2 = UNKNOWN_BITS() : bits('D) else data2 = rX(t2); @@ -1030,12 +1033,14 @@ function clause execute ( LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,me data2 = read_data[((datasize * 2) - 1)..datasize]; if rt_unknown then { - data1 = UNKNOWN : bits('D); - data2 = UNKNOWN : bits('D); + data1 = UNKNOWN_BITS() : bits('D); + data2 = UNKNOWN_BITS() : bits('D); }; wX(t) = data1; wX(t2) = data2; - } + }, + + _ => exit() }; /* ARM: the following code was moved up, see note there @@ -1050,21 +1055,20 @@ function clause execute ( LoadStorePairNonTemp(wback,postindex,n,t,t2,acctype,me */ } -function sharedDecodeLoadImmediate forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - (opc : bits(2),size : bits(2),Rn,Rt,wback,postindex,scale : uinteger,offset,acctype,prefetchAllowed : bool) -> option(ast('R,'D)) +function sharedDecodeLoadImmediate (opc : bits(2),size : bits(2), Rn : bits(5), Rt : bits(5), wback : bit ,postindex : bit, scale : range(0,3), offset : bits(64), acctype : AccType,prefetchAllowed : bool) -> option(ast) = { n : reg_index = UInt_reg(Rn); t : reg_index = UInt_reg(Rt); /* ARM: inorder to unify the decoding acctype was moved out. AccType_UNPRIV for LDT* / STT* and AccType_NORMAL for the rest. acctype : AccType = AccType_NORMAL/AccType_UNPRIV; */ - memop : MemOp = 0; /* ARM: uninitialized */ + memop : MemOp = MemOp_LOAD; /* ARM: uninitialized */ _signed : boolean = false; /* ARM: uninitialized */ - regsize : atom('R) = 64; /* ARM: uninitialized */ + regsize : { 'R, RegisterSize('R). atom('R) } = 64; /* ARM: uninitialized */ - if opc[1] == 0 then { + if opc[1] == b0 then { /* store or zero-extending load */ - memop = if opc[0] == 1 then MemOp_LOAD else MemOp_STORE; + memop = if opc[0] == b1 then MemOp_LOAD else MemOp_STORE; regsize = if size == 0b11 then 64 else 32; _signed = false; } else { @@ -1072,7 +1076,7 @@ function sharedDecodeLoadImmediate forall 'R 'D, 'R in {32,64} & 'D in {8,16,32, /* ARM: we use the following if/else to unify the decoding */ if prefetchAllowed then { memop = MemOp_PREFETCH; - if opc[0] == 1 then UnallocatedEncoding(); + if opc[0] == b1 then UnallocatedEncoding(); } else { /* no unprivileged prefetch */ UnallocatedEncoding(); @@ -1080,13 +1084,14 @@ function sharedDecodeLoadImmediate forall 'R 'D, 'R in {32,64} & 'D in {8,16,32, } else { /* sign-extending load */ memop = MemOp_LOAD; - if size == 0b10 & opc[0] == 1 then UnallocatedEncoding(); - regsize = if opc[0] == 1 then 32 else 64; + if size == 0b10 & opc[0] == b1 then UnallocatedEncoding(); + regsize = if opc[0] == b1 then 32 else 64; _signed = true; }; }; - datasize : atom('D) = lsl(8, scale); + let datasize /* : { 'D, DataSize('D). atom('D) } */ = lsl(8, scale); + assert (datasize == 8 | datasize == 16 | datasize == 32 | datasize == 64); /* FIXME: CP: adding assertion so it typechecks */ Some(LoadImmediate(n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize)); } @@ -1097,20 +1102,19 @@ function sharedDecodeLoadImmediate forall 'R 'D, 'R in {32,64} & 'D in {8,16,32, /* LDRSB (immediate) post-index */ /* LDRSH (immediate) post-index */ /* LDRSW (immediate) post-index */ -val decodeLoadStoreRegisterImmediatePostIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterImmediatePostIndexed (size@0b111@[0]@0b00@opc@[0]@(imm9 : bits(9))@0b01@Rn@Rt) = { +val decodeLoadStoreRegisterImmediatePostIndexed : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterImmediatePostIndexed ((size:bits(2))@0b111@0b0@0b00@(opc:bits(2))@0b0@(imm9 : bits(9))@0b01@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = true; postindex : boolean = true; - scale : uinteger = UInt(size); + scale : range(0,3) = UInt(size); offset : bits(64) = SignExtend(imm9); - - sharedDecodeLoadImmediate(opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,false); + sharedDecodeLoadImmediate + (opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,false); } -function clause execute ( LoadImmediate(n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize : atom('D)) ) = { - address : bits(64) = 0; /* ARM: uninitialized */ - data : bits('D) = 0; /* ARM: uninitialized */ +function clause execute ( LoadImmediate ((n,t,acctype,memop,_signed,wback,postindex,offset,regsize as atom('R),datasize as atom('D))) ) = { + address : bits(64) = Zeros(); /* ARM: uninitialized */ + data : bits('D) = Zeros(); /* ARM: uninitialized */ wb_unknown : boolean = false; rt_unknown : boolean = false; @@ -1164,7 +1168,7 @@ function clause execute ( LoadImmediate(n,t,acctype,memop,_signed,wback,postinde match memop { MemOp_STORE => { if rt_unknown then - data = UNKNOWN : bits('D) + data = UNKNOWN_BITS() : bits('D) else data = rX(t); @@ -1178,14 +1182,18 @@ function clause execute ( LoadImmediate(n,t,acctype,memop,_signed,wback,postinde rMem(empty_read_buffer, address, quot(datasize,8), acctype), quot(datasize, 8) ); - if _signed then + if _signed then { + assert('R > 'D); /* FIXME: CP: adding assertion so it typechecks */ wX(t) = SignExtend(data) : bits('R) /* ARM: regsize */ - else + } + else { + assert('R >= 'D); /* FIXME: CP: adding assertion so it typechecks */ wX(t) = ZeroExtend(data) : bits('R); /* ARM: regsize */ + } }, MemOp_PREFETCH => - Prefetch(address,t : bits(5)) + Prefetch(address, to_bits(t) : bits(5)) }; /* ARM: the following code was moved up, see note there @@ -1208,49 +1216,46 @@ function clause execute ( LoadImmediate(n,t,acctype,memop,_signed,wback,postinde /* LDRSB (immediate) pre-index */ /* LDRSH (immediate) pre-index */ /* LDRSW (immediate) pre-index */ -val decodeLoadStoreRegisterImmediatePraeIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterImmediatePreIndexed (size@0b111@[0]@0b00@opc@[0]@(imm9 : bits(9))@0b11@Rn@Rt) = { +val decodeLoadStoreRegisterImmediatePreIndexed : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterImmediatePreIndexed ((size:bits(2))@0b111@0b0@0b00@(opc:bits(2))@0b0@(imm9 : bits(9))@0b11@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = true; postindex : boolean = false; - scale : uinteger = UInt(size); + scale : range(0,3) = UInt(size); offset : bits(64) = SignExtend(imm9); - sharedDecodeLoadImmediate(opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,false); + sharedDecodeLoadImmediate (opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,false); } -val sharedDecodeLoadRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) -function sharedDecodeLoadRegister(Rn,Rt,Rm,opc : bits(2),size : bits(2),wback,postindex,scale : uinteger,extend_type,shift) = { +function sharedDecodeLoadRegister(Rn:bits(5), Rt:bits(5), Rm:bits(5), opc : bits(2),size : bits(2),wback:boolean, postindex:boolean ,scale : range(0,3),extend_type : ExtendType, shift : range(0,3)) -> option(ast) = { n : reg_index = UInt_reg(Rn); t : reg_index = UInt_reg(Rt); m : reg_index = UInt_reg(Rm); acctype : AccType = AccType_NORMAL; - memop : MemOp = 0; /* ARM: uninitialized */ - _signed : boolean = 0; /* ARM: uninitialized */ - regsize : atom('R) = 64; /* ARM: uninitialized */ + memop : MemOp = MemOp_LOAD; /* ARM: uninitialized */ + _signed : boolean = b0; /* ARM: uninitialized */ + regsize : { 'R, RegisterSize('R). atom('R) }/* atom('R) */ = 64; /* ARM: uninitialized */ - if opc[1] == 0 then { + if opc[1] == b0 then { /* store or zero-extending load */ - memop = if opc[0] == 1 then MemOp_LOAD else MemOp_STORE; + memop = if opc[0] == b1 then MemOp_LOAD else MemOp_STORE; regsize = if size == 0b11 then 64 else 32; _signed = false; } else { if size == 0b11 then { memop = MemOp_PREFETCH; - if opc[0] == 1 then UnallocatedEncoding(); + if opc[0] == b1 then UnallocatedEncoding(); } else { /* sign-extending load */ memop = MemOp_LOAD; - if size == 0b10 & opc[0] == 1 then UnallocatedEncoding(); - regsize = if opc[0] == 1 then 32 else 64; + if size == 0b10 & opc[0] == b1 then UnallocatedEncoding(); + regsize = if opc[0] == b1 then 32 else 64; _signed = true; }; }; - datasize : atom('D) = lsl(8, scale); - - Some(LoadRegister(n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize)); + let datasize /* : {'D, DataSize('D). atom('D)} */ /* : atom('D) */ = lsl(8, scale); + assert (datasize == 8 | datasize == 16 | datasize == 32 | datasize == 64); /* FIXME: CP: adding assertion so it typechecks */ + Some (LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize)); } /* LDR/STR (register) */ @@ -1261,23 +1266,22 @@ function sharedDecodeLoadRegister(Rn,Rt,Rm,opc : bits(2),size : bits(2),wback,po /* LDRSW (register) */ /* PRFM (register) */ -val decodeLoadStoreRegisterRegisterOffset : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) -function decodeLoadStoreRegisterRegisterOffset (size@0b111@[0]@0b00@opc@[1]@Rm@option_v@[S]@0b10@Rn@Rt) = { +val decodeLoadStoreRegisterRegisterOffset : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterRegisterOffset ((size:bits(2))@0b111@0b0@0b00@(opc:bits(2))@0b1@(Rm:bits(5))@(option_v:bits(3))@[S]@0b10@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; - scale : uinteger = UInt(size); - if option_v[1] == 0 then UnallocatedEncoding(); /* sub-word index */ + scale : range(0,3) = UInt(size); + if option_v[1] == b0 then UnallocatedEncoding(); /* sub-word index */ extend_type : ExtendType = DecodeRegExtend(option_v); - shift : uinteger = if S == 1 then scale else 0; + shift : range(0,3) = if S == b1 then scale else 0; sharedDecodeLoadRegister(Rn,Rt,Rm,opc,size,wback,postindex,scale,extend_type,shift); } -function clause execute ( LoadRegister(n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize : atom('D)) ) = { +function clause execute ( LoadRegister((n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize as atom('R),datasize as atom('D))) ) = { offset : bits(64) = ExtendReg(m, extend_type, shift); - address : bits(64) = 0; /* ARM: uninitialized */ - data : bits('D) = 0; /* ARM: uninitialized */ + address : bits(64) = Zeros(); /* ARM: uninitialized */ + data : bits('D) = Zeros(); /* ARM: uninitialized */ wb_unknown : boolean = false; rt_unknown : boolean = false; @@ -1331,7 +1335,7 @@ function clause execute ( LoadRegister(n,t,m,acctype,memop,_signed,wback,postind match memop { MemOp_STORE => { if rt_unknown then - data = UNKNOWN : bits('D) + data = UNKNOWN_BITS() : bits('D) else data = rX(t); @@ -1345,14 +1349,18 @@ function clause execute ( LoadRegister(n,t,m,acctype,memop,_signed,wback,postind rMem(empty_read_buffer, address, quot(datasize,8), acctype), quot(datasize,8) ); - if _signed then + if _signed then { + assert('R > 'D); /* FIXME: CP: adding assertion so it typechecks */ wX(t) = SignExtend(data) : bits('R) - else + } + else { + assert('R >= 'D); /* FIXME: CP: adding assertion so it typechecks */ wX(t) = ZeroExtend(data) : bits('R); + } }, MemOp_PREFETCH => - Prefetch(address,t : bits(5)) + Prefetch(address,to_bits(t) : bits(5)) }; /* ARM: the following code was moved up, see note there @@ -1376,15 +1384,14 @@ function clause execute ( LoadRegister(n,t,m,acctype,memop,_signed,wback,postind /* LDTRSH */ /* LDTRSW */ -val decodeLoadStoreRegisterUnprivileged : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterUnprivileged (size@0b111@[0]@0b00@opc@[0]@(imm9 : bits(9))@0b10@Rn@Rt) = { +val decodeLoadStoreRegisterUnprivileged : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterUnprivileged ((size:bits(2))@0b111@0b0@0b00@(opc:bits(2))@0b0@(imm9 : bits(9))@0b10@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; - scale : uinteger = UInt(size); + scale : range(0,3) = UInt(size); offset : bits(64) = SignExtend(imm9); - sharedDecodeLoadImmediate(opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_UNPRIV,false); + sharedDecodeLoadImmediate (opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_UNPRIV,false); } /* LDUR/STRUR */ @@ -1394,12 +1401,11 @@ function decodeLoadStoreRegisterUnprivileged (size@0b111@[0]@0b00@opc@[0]@(imm9 /* LDURSH */ /* LDURSW */ /* PRFUM */ -val decodeLoadStoreRegisterUnscaledImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterUnscaledImmediate (size@0b111@[0]@0b00@opc@[0]@(imm9 : bits(9))@0b00@Rn@Rt) = { +val decodeLoadStoreRegisterUnscaledImmediate : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterUnscaledImmediate ((size:bits(2))@0b111@0b0@0b00@(opc:bits(2))@0b0@(imm9 : bits(9))@0b00@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; - scale : uinteger = UInt(size); + scale : range(0,3) = UInt(size); offset : bits(64) = SignExtend(imm9); sharedDecodeLoadImmediate(opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,true); @@ -1412,28 +1418,27 @@ function decodeLoadStoreRegisterUnscaledImmediate (size@0b111@[0]@0b00@opc@[0]@( /* LDRSH (immediate) Unsigned offset */ /* LDRSW (immediate) Unsigned offset */ /* PRFM (immediate) Unsigned offset */ -val decodeLoadStoreRegisterUnsignedImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterUnsignedImmediate (size@0b111@[0]@0b01@opc@(imm12 : bits(12))@Rn@Rt) = { +val decodeLoadStoreRegisterUnsignedImmediate : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterUnsignedImmediate ((size:bits(2))@0b111@0b0@0b01@(opc:bits(2))@(imm12 : bits(12))@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; - scale : uinteger = UInt(size); + scale : range(0,3) = UInt(size); offset : bits(64) = LSL(ZeroExtend(imm12), scale); - sharedDecodeLoadImmediate(opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,true); + sharedDecodeLoadImmediate (opc,size,Rn,Rt,wback,postindex,scale,offset,AccType_NORMAL,true); } -function sharedDecodeLoadStorePair forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - (L,opc : bits(2),imm7,Rn,Rt,Rt2,wback,postindex) -> option(ast('R,'D)) = { +function sharedDecodeLoadStorePair (L:boolean,opc : bits(2),imm7:bits(7),Rn:bits(5),Rt:bits(5),Rt2:bits(5),wback:boolean,postindex:boolean) -> option(ast) = { n : (reg_index) = UInt_reg(Rn); t : (reg_index) = UInt_reg(Rt); t2 : (reg_index) = UInt_reg(Rt2); acctype : (AccType) = AccType_NORMAL; - memop : (MemOp) = if L == 1 then MemOp_LOAD else MemOp_STORE; + memop : (MemOp) = if L == b1 then MemOp_LOAD else MemOp_STORE; if [L,opc[0]] == 0b01 | opc == 0b11 then UnallocatedEncoding(); - _signed : (boolean) = (opc[0] != 0); - scale : (uinteger) = 2 + UInt([opc[1]]); - datasize : atom('D) = lsl(8, scale); + _signed : (boolean) = (opc[0] != b0); + scale : range(2,3) = 2 + UInt([opc[1]]); + let datasize /* : { 'D, DataSize('D). atom('D) } */ = lsl(8, scale); + assert (datasize == 8 | datasize == 16 | datasize == 32 | datasize == 64); /* FIXME: CP: adding assertion so it typechecks */ offset : (bits(64)) = LSL(SignExtend(imm7), scale); Some(LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset)); @@ -1442,20 +1447,19 @@ function sharedDecodeLoadStorePair forall 'R 'D, 'R in {32,64} & 'D in {8,16,32, /* LDP signed offset */ /* LDPSW signed offset */ /* STP signed offset */ -val decodeLoadStoreRegisterPairOffset : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterPairOffset (opc@0b101@[0]@0b010@[L]@(imm7 : bits(7))@Rt2@Rn@Rt) = { +val decodeLoadStoreRegisterPairOffset : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterPairOffset (opc:bits(2)@0b101@0b0@0b010@[L]@(imm7 : bits(7))@(Rt2:bits(5))@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = false; postindex : boolean = false; sharedDecodeLoadStorePair(L,opc,imm7,Rn,Rt,Rt2,wback,postindex); } -function clause execute ( LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_signed,datasize : atom('D),offset) ) = { - address : bits(64) = 0; /* ARM: uninitialized */ - data1 : (bits('D)) = 0; /* ARM: uninitialized */ - data2 : (bits('D)) = 0; /* ARM: uninitialized */ - /*constant*/ dbytes : (uinteger) = quot (datasize,8); +function clause execute ( LoadStorePair((wback,postindex,n,t,t2,acctype,memop,_signed,datasize as atom('D),offset)) ) = { + address : bits(64) = Zeros(); /* ARM: uninitialized */ + data1 : (bits('D)) = Zeros(); /* ARM: uninitialized */ + data2 : (bits('D)) = Zeros(); /* ARM: uninitialized */ + /*constant*/ let dbytes : {'db, 'db == div('D,8) & 'db in {1,2,4,8}. atom('db) } = quot (datasize,8); rt_unknown : (boolean) = false; wb_unknown : (boolean) = false; @@ -1520,11 +1524,11 @@ function clause execute ( LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_si match memop { MemOp_STORE => { if rt_unknown & t == n then - data1 = UNKNOWN : (bits('D)) + data1 = UNKNOWN_BITS() : (bits('D)) else data1 = rX(t); if rt_unknown & t2 == n then - data2 = UNKNOWN : (bits('D)) + data2 = UNKNOWN_BITS() : (bits('D)) else data2 = rX(t2); @@ -1540,17 +1544,19 @@ function clause execute ( LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_si data1 = read_data[(datasize - 1) .. 0]; data2 = read_data[((datasize * 2) - 1) .. datasize]; if rt_unknown then { - data1 = UNKNOWN : bits('D); - data2 = UNKNOWN : bits('D); + data1 = UNKNOWN_BITS() : bits('D); + data2 = UNKNOWN_BITS() : bits('D); }; if _signed then { + assert('D < 64); /*FIXME: CP adding assertion to make typecheck*/ wX(t) = (SignExtend(data1)) : (bits(64)); wX(t2) = (SignExtend(data2)) : (bits(64)); } else { wX(t) = data1; wX(t2) = data2; }; - } + }, + _ => exit() }; /* ARM: the following code was moved up, see note there @@ -1570,9 +1576,8 @@ function clause execute ( LoadStorePair(wback,postindex,n,t,t2,acctype,memop,_si /* LDP post-index */ /* LDPSW post-index */ /* STP post-index */ -val decodeLoadStoreRegisterPairPostIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterPairPostIndexed (opc@0b101@[0]@0b001@[L]@(imm7 : bits(7))@Rt2@Rn@Rt) = { +val decodeLoadStoreRegisterPairPostIndexed : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterPairPostIndexed ((opc:bits(2))@0b101@0b0@0b001@[L]@(imm7 : bits(7))@(Rt2:bits(5))@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = true; postindex : boolean = true; @@ -1582,9 +1587,8 @@ function decodeLoadStoreRegisterPairPostIndexed (opc@0b101@[0]@0b001@[L]@(imm7 : /* LDP pre-index */ /* LDPSW pre-index */ /* STP pre-index */ -val decodeLoadStoreRegisterPairPreIndexed : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLoadStoreRegisterPairPreIndexed (opc@0b101@[0]@0b011@[L]@(imm7 : bits(7))@Rt2@Rn@Rt) = { +val decodeLoadStoreRegisterPairPreIndexed : bits(32) -> option(ast) effect {escape} +function decodeLoadStoreRegisterPairPreIndexed ((opc:bits(2))@0b101@0b0@0b011@[L]@(imm7 : bits(7))@(Rt2:bits(5))@(Rn:bits(5))@(Rt:bits(5))) = { wback : boolean = true; postindex : boolean = false; @@ -1593,36 +1597,35 @@ function decodeLoadStoreRegisterPairPreIndexed (opc@0b101@[0]@0b011@[L]@(imm7 : /* ADD/ADDS (immediate) */ /* SUB/SUBS (immediate) */ -val decodeAddSubtractImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeAddSubtractImmediate ([sf]@[op]@[S]@0b10001@shift@(imm12 : bits(12))@Rn@Rd) = { +val decodeAddSubtractImmediate : bits(32) -> option(ast) effect {escape} +function decodeAddSubtractImmediate ([sf]@[op]@[S]@0b10001@(shift:bits(2))@(imm12 : bits(12))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); - datasize : atom('R) = if sf == 1 then 64 else 32; - sub_op : (boolean) = (op == 1); - setflags : (boolean) = (S == 1); - imm : (bits('R)) = 0; /* ARM: uninitialized */ + let datasize : {| 32,64 |} = if sf == b1 then 64 else 32; + sub_op : (boolean) = (op == b1); + setflags : (boolean) = (S == b1); + imm /* : (bits('R)) */ = Zeros(datasize); /* ARM: uninitialized */ match shift { 0b00 => imm = ZeroExtend(imm12), 0b01 => imm = ZeroExtend(imm12 @ (0b0 ^^ 12)), - [1,_] => ReservedValue() + [b1,_] => ReservedValue() }; - Some(AddSubImmediate(d,n,datasize,sub_op,setflags,imm)); + Some(AddSubImmediate((d,n,datasize,sub_op,setflags,imm))); } -function clause execute (AddSubImmediate(d,n,datasize,sub_op,setflags,imm)) = { +function clause execute (AddSubImmediate((d,n,datasize as atom('R),sub_op,setflags,imm))) = { operand1 : (bits('R)) = if n == 31 then rSP() else rX(n); operand2 : (bits('R)) = imm; - carry_in : (bit) = 0; /* ARM: uninitialized */ + carry_in : (bit) = b0; /* ARM: uninitialized */ if sub_op then { operand2 = NOT(operand2); - carry_in = 1; + carry_in = b1; } else - carry_in = 0; + carry_in = b0; let (result,nzcv) = AddWithCarry (operand1, operand2, carry_in) in { @@ -1639,17 +1642,17 @@ function clause execute (AddSubImmediate(d,n,datasize,sub_op,setflags,imm)) = { /* BFM */ /* SBFM */ /* UBFM */ -val decodeBitfield : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeBitfield ([sf]@opc@0b100110@[N]@(immr : bits(6))@(imms : bits(6))@Rn@Rd) = { +val decodeBitfield : bits(32) -> option(ast) effect {escape} +function decodeBitfield ([sf]@(opc:bits(2))@0b100110@[N]@(immr : bits(6))@(imms : bits(6))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); - datasize : atom('R) = if sf == 1 then 64 else 32; + let datasize : {|32,64|} = if sf == b1 then 64 else 32; + /* let datasize as atom('R) = datasize; */ inzero : (boolean) = false; /* ARM: uninitialized */ extend : (boolean) = false; /* ARM: uninitialized */ - R : (uinteger) = 0; /* ARM: uninitialized */ - S : (uinteger) = 0; /* ARM: uninitialized */ + R : range(0,63) = 0; /* ARM: uninitialized */ + S : range(0,63) = 0; /* ARM: uninitialized */ match opc { 0b00 => {inzero = true; extend = true}, /* SBFM */ @@ -1658,19 +1661,22 @@ function decodeBitfield ([sf]@opc@0b100110@[N]@(immr : bits(6))@(imms : bits(6)) 0b11 => UnallocatedEncoding() }; - if sf == 1 & N != 1 then ReservedValue(); - if sf == 0 & (N != 0 | immr[5] != 0 | imms[5] != 0) then ReservedValue(); + if sf == b1 & N != b1 then ReservedValue(); + if sf == b0 & (N != b0 | immr[5] != b0 | imms[5] != b0) then ReservedValue(); + + let R = UInt(immr); + let S = UInt(imms); - R = UInt(immr); - S = UInt(imms); + let (wmask /* : bits('R) */, tmask /* : bits('R) */) = (DecodeBitMasks(datasize, N, imms, immr, false)) in { - let (wmask : bits('R), tmask : bits('R)) = (DecodeBitMasks(N, imms, immr, false)) in { + assert(R < datasize & S < datasize); /*FIXME: CP adding assertion to make typecheck*/ - Some(BitfieldMove(d,n,datasize,inzero,extend,R,S,wmask,tmask)); + Some(BitfieldMove((d,n,datasize,inzero,extend,R,S,wmask,tmask))); }} -function clause execute (BitfieldMove(d,n,datasize,inzero,extend,R,S,wmask,tmask)) = { +function clause execute (BitfieldMove((d,n,(datasize as atom('R)),inzero,extend,R,S,wmask,tmask))) = { + dst : bits('R) = if inzero then Zeros() else rX(d); src : bits('R) = rX(n); @@ -1685,28 +1691,28 @@ function clause execute (BitfieldMove(d,n,datasize,inzero,extend,R,S,wmask,tmask } /* EXTR */ -val decodeExtract : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeExtract ([sf]@0b00@0b100111@[N]@0b0@Rm@(imms : bits(6))@Rn@Rd) = { +val decodeExtract : bits(32) -> option(ast) effect {escape} +function decodeExtract ([sf]@0b00@0b100111@[N]@0b0@(Rm:bits(5))@(imms : bits(6))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : atom('R) = if sf == 1 then 64 else 32; - lsb : (uinteger) = 0; /* ARM: uninitialized */ + let datasize : {| 32,64 |} = if sf == b1 then 64 else 32; + lsb : range(0,63) = 0; /* ARM: uninitialized */ if N != sf then UnallocatedEncoding(); - if sf == 0 & imms[5] == 1 then ReservedValue(); - lsb = UInt(imms); + if sf == b0 & imms[5] == b1 then ReservedValue(); + let lsb = UInt(imms); - Some(ExtractRegister(d,n,m,datasize,lsb)); + assert(lsb < datasize); /*FIXME: CP adding assertion to make typecheck*/ + Some(ExtractRegister((d,n,m,datasize,lsb))); } -function clause execute ( ExtractRegister(d,n,m,datasize : atom('R),lsb) ) = { - result : (bits('R)) = 0; /* ARM: uninitialized */ +function clause execute ( ExtractRegister((d,n,m,datasize as atom('R),lsb)) ) = { + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = rX(m); - concat : (bits(2*'R)) = operand1:operand2; + concat : (bits(2*'R)) = operand1@operand2; result = concat[(lsb + datasize - 1)..lsb]; wX(d) = result; } @@ -1714,12 +1720,11 @@ function clause execute ( ExtractRegister(d,n,m,datasize : atom('R),lsb) ) = { /* AND/ANDS (immediate) */ /* EOR (immediate) */ /* ORR (immediate) */ -val decodeLogicalImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLogicalImmediate ([sf]@opc@0b100100@[N]@(immr : bits(6))@(imms : bits(6))@Rn@Rd) = { +val decodeLogicalImmediate : bits(32) -> option(ast) effect {escape} +function decodeLogicalImmediate ([sf]@(opc:bits(2))@0b100100@[N]@(immr : bits(6))@(imms : bits(6))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); - datasize : atom('R) = if sf == 1 then 64 else 32; + let datasize : {|32,64|} /* atom('R) */ = if sf == b1 then 64 else 32; setflags : (boolean) = false; /* ARM: uninitialized */ op : (LogicalOp) = LogicalOp_AND; /* ARM: uninitialized */ match opc { @@ -1729,14 +1734,14 @@ function decodeLogicalImmediate ([sf]@opc@0b100100@[N]@(immr : bits(6))@(imms : 0b11 => {op = LogicalOp_AND; setflags = true} }; - if sf == 0 & N != 0 then ReservedValue(); - let (imm,_) = (DecodeBitMasks(N, imms, immr, true)) in { + if sf == b0 & N != b0 then ReservedValue(); + let (imm,_) = (DecodeBitMasks(datasize,N, imms, immr, true)) in { - Some(LogicalImmediate(d,n,datasize,setflags,op,imm)); + Some(LogicalImmediate((d,n,datasize,setflags,op,imm))); }} -function clause execute (LogicalImmediate(d,n,datasize : atom('R),setflags,op,imm)) = { - result : (bits('R)) = 0; /* ARM: uninitialized */ +function clause execute (LogicalImmediate((d,n,datasize as atom('R),setflags,op,imm))) = { + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = imm; @@ -1758,14 +1763,13 @@ function clause execute (LogicalImmediate(d,n,datasize : atom('R),setflags,op,im /* MOVK */ /* MOVN */ /* MOVZ */ -val decodeMoveWideImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeMoveWideImmediate ([sf]@opc@0b100101@(hw : bits(2))@(imm16 : bits(16))@Rd) = { +val decodeMoveWideImmediate : bits(32) -> option(ast) effect {escape} +function decodeMoveWideImmediate ([sf]@(opc:bits(2))@0b100101@(hw : bits(2))@(imm16 : bits(16))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); - datasize : atom('R) = if sf == 1 then 64 else 32; + let datasize : {|32,64|} /* : atom('R) */ = if sf == b1 then 64 else 32; imm : (bits(16)) = imm16; pos : (uinteger) = 0; /* ARM: uninitialized */ - opcode : (MoveWideOp) = 0; /* ARM: uninitialized */ + opcode : (MoveWideOp) = MoveWideOp_N; /* ARM: uninitialized */ match opc { 0b00 => opcode = MoveWideOp_N, @@ -1774,14 +1778,15 @@ function decodeMoveWideImmediate ([sf]@opc@0b100101@(hw : bits(2))@(imm16 : bits _ => UnallocatedEncoding() }; - if sf == 0 & hw[1] == 1 then UnallocatedEncoding(); - pos = UInt(hw@0b0000); + if sf == b0 & hw[1] == b1 then UnallocatedEncoding(); + let pos = UInt(hw@0b0000); + assert(pos < (datasize / 2)); Some(MoveWide(d,datasize,imm,pos,opcode)); } -function clause execute ( MoveWide(d,datasize,imm,pos,opcode) ) = { - result : (bits('R)) = 0; /* ARM: uninitialized */ +function clause execute ( MoveWide((d,datasize as atom('R),imm,pos,opcode)) ) = { + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ if opcode == MoveWideOp_K then result = rX(d) @@ -1796,12 +1801,11 @@ function clause execute ( MoveWide(d,datasize,imm,pos,opcode) ) = { /* ADR */ /* ADRP */ -val decodePCRelAddressing : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodePCRelAddressing ([op]@(immlo : bits(2))@0b10000@(immhi : bits(19))@Rd) = { +val decodePCRelAddressing : bits(32) -> option(ast) effect {escape} +function decodePCRelAddressing ([op]@(immlo : bits(2))@0b10000@(immhi : bits(19))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); - page : (boolean) = (op == 1); - imm :(bits(64)) = 0; /* ARM: uninitialized */ + page : (boolean) = (op == b1); + imm :(bits(64)) = Zeros(); /* ARM: uninitialized */ if page then imm = SignExtend(immhi@immlo@(0b0 ^^ 12)) @@ -1815,22 +1819,21 @@ function clause execute (Address(d,page,imm)) = { base : (bits(64)) = rPC(); if page then - base[11..0] = (Zeros()) @ (bits(12)); + base[11..0] = Zeros() : bits(12); wX(d) = base + imm; } /* ADD/ADDS (extended register) */ /* SUB/SUBS (extended register) */ -val decodeAddSubtractExtendedRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeAddSubtractExtendedRegister ([sf]@[op]@[S]@0b01011@0b00@0b1@Rm@option_v@(imm3 : bits(3))@Rn@Rd) = { +val decodeAddSubtractExtendedRegister : bits(32) -> option(ast) effect {escape} +function decodeAddSubtractExtendedRegister ([sf]@[op]@[S]@0b01011@0b00@0b1@(Rm:bits(5))@(option_v:bits(3))@(imm3 : bits(3))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : atom('R) = if sf == 1 then 64 else 32; - sub_op : (boolean) = (op == 1); - setflags : (boolean) = (S == 1); + datasize : {|32,64|} /* : atom('R) */ = if sf == b1 then 64 else 32; + sub_op : (boolean) = (op == b1); + setflags : (boolean) = (S == b1); extend_type : (ExtendType) = DecodeRegExtend(option_v); shift : range(0,7) = UInt(imm3); if shift > 4 then ReservedValue(); @@ -1838,16 +1841,16 @@ function decodeAddSubtractExtendedRegister ([sf]@[op]@[S]@0b01011@0b00@0b1@Rm@op Some(AddSubExtendRegister(d,n,m,datasize,sub_op,setflags,extend_type,shift)); } -function clause execute (AddSubExtendRegister(d,n,m,datasize,sub_op,setflags,extend_type,shift)) = { +function clause execute (AddSubExtendRegister((d,n,m,datasize as atom('R),sub_op,setflags,extend_type,shift))) = { operand1 : (bits('R)) = if n == 31 then rSP() else rX(n); operand2 : (bits('R)) = ExtendReg(m, extend_type, shift); - carry_in : (bit) = 0; /* ARM: uninitialized */ + carry_in : (bit) = b0; /* ARM: uninitialized */ if sub_op then { operand2 = NOT(operand2); - carry_in = 1; + carry_in = b1; } else - carry_in = 0; + carry_in = b0; let (result,nzcv) = (AddWithCarry(operand1, operand2, carry_in)) in { @@ -1863,18 +1866,17 @@ function clause execute (AddSubExtendRegister(d,n,m,datasize,sub_op,setflags,ext /* ADD/ADDS (shifted register) */ /* SUB/SUBS (shifted register) */ -val decodeAddSubtractShiftedRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeAddSubtractShiftedRegister ([sf]@[op]@[S]@0b01011@shift@0b0@Rm@(imm6 : bits(6))@Rn@Rd) = { +val decodeAddSubtractShiftedRegister : bits(32) -> option(ast) effect {escape} +function decodeAddSubtractShiftedRegister ([sf]@[op]@[S]@0b01011@(shift:bits(2))@0b0@(Rm:bits(5))@(imm6 : bits(6))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : atom('R) = if sf == 1 then 64 else 32; - sub_op : (boolean) = (op == 1); - setflags : (boolean) = (S == 1); + datasize : {| 32,64 |} /* : atom('R) */ = if sf == b1 then 64 else 32; + sub_op : (boolean) = (op == b1); + setflags : (boolean) = (S == b1); if shift == 0b11 then ReservedValue(); - if sf == 0 & imm6[5] == 1 then ReservedValue(); + if sf == b0 & imm6[5] == b1 then ReservedValue(); shift_type : (ShiftType) = DecodeShift(shift); shift_amount : range(0,63) = UInt(imm6); @@ -1882,17 +1884,17 @@ function decodeAddSubtractShiftedRegister ([sf]@[op]@[S]@0b01011@shift@0b0@Rm@(i Some(AddSubShiftedRegister(d,n,m,datasize,sub_op,setflags,shift_type,shift_amount)); } -function clause execute (AddSubShiftedRegister(d,n,m,datasize,sub_op,setflags,shift_type,shift_amount)) = { +function clause execute (AddSubShiftedRegister((d,n,m,(datasize as atom('R)),sub_op,setflags,shift_type,shift_amount))) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = ShiftReg(m, shift_type, shift_amount); - carry_in : (bit) = 0; /* ARM: uninitialized */ + carry_in : (bit) = b0; /* ARM: uninitialized */ if sub_op then { operand2 = NOT(operand2); - carry_in = 1; + carry_in = b1; } else - carry_in = 0; + carry_in = b0; let (result,nzcv) = AddWithCarry(operand1, operand2, carry_in) in { @@ -1907,27 +1909,26 @@ function clause execute (AddSubShiftedRegister(d,n,m,datasize,sub_op,setflags,sh /* SBC/SBCS */ -val decodeAddSubtractWithCarry : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeAddSubtractWithCarry ([sf]@[op]@[S]@0b11010000@Rm@0b000000@Rn@Rd) = { +val decodeAddSubtractWithCarry : bits(32) -> option(ast) effect {escape} +function decodeAddSubtractWithCarry ([sf]@[op]@[S]@0b11010000@(Rm:bits(5))@0b000000@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : (atom('R)) = if sf == 1 then 64 else 32; - sub_op : (boolean) = (op == 1); - setflags : (boolean) = (S == 1); + datasize : {| 32, 64 |} /* (atom('R)) */ = if sf == b1 then 64 else 32; + sub_op : (boolean) = (op == b1); + setflags : (boolean) = (S == b1); Some(AddSubCarry(d,n,m,datasize,sub_op,setflags)); } -function clause execute( AddSubCarry(d,n,m,datasize,sub_op,setflags)) = { +function clause execute( AddSubCarry((d,n,m,(datasize as atom('R)),sub_op,setflags))) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = rX(m); if sub_op then operand2 = NOT(operand2); - let (result,nzcv) = AddWithCarry (operand1, operand2, PSTATE_C) in { + let (result,nzcv) = AddWithCarry (operand1, operand2, PSTATE_C()[0]) in { if setflags then wPSTATE_NZCV() = nzcv; @@ -1937,29 +1938,28 @@ function clause execute( AddSubCarry(d,n,m,datasize,sub_op,setflags)) = { /* CCMN (immediate) */ /* CCMP (immediate) */ -val decodeConditionalCompareImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeConditionalCompareImmediate ([sf]@[op]@[1]@0b11010010@(imm5 : bits(5))@ _cond@[1]@[0]@Rn@[0]@nzcv) = { +val decodeConditionalCompareImmediate : bits(32) -> option(ast) effect pure +function decodeConditionalCompareImmediate ([sf]@[op]@[b1]@0b11010010@(imm5 : bits(5))@(_cond:bits(4))@[b1]@[b0]@(Rn:bits(5))@[b0]@(nzcv:bits(4))) = { n : (reg_index) = UInt_reg(Rn); - datasize : atom('R) = if sf == 1 then 64 else 32; - sub_op : boolean = (op ==1); + let datasize : {| 32, 64 |} /* : atom('R) */ = if sf == b1 then 64 else 32; + sub_op : boolean = (op == b1); condition : bits(4) = _cond; flags : bits(4) = nzcv; - imm : bits('R) = ZeroExtend(imm5); + imm /* : bits('R) */ = ZeroExtend(datasize,imm5); - Some(ConditionalCompareImmediate(n,datasize,sub_op,condition,flags,imm)); + Some(ConditionalCompareImmediate((n,datasize,sub_op,condition,flags,imm))); } -function clause execute (ConditionalCompareImmediate(n,datasize,sub_op,condition,flags,imm)) = { +function clause execute(ConditionalCompareImmediate((n,datasize as atom('R),sub_op,condition,flags,imm))) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = imm; - carry_in : (bit) = 0; + carry_in : (bit) = b0; flags' : (bits(4)) = flags; if ConditionHolds(condition) then { if sub_op then { operand2 = NOT(operand2); - carry_in = 1; + carry_in = b1; }; let (_,nzcv) = AddWithCarry(operand1, operand2, carry_in) in {flags' = nzcv}; }; @@ -1968,29 +1968,28 @@ function clause execute (ConditionalCompareImmediate(n,datasize,sub_op,condition /* CCMN (register) */ /* CCMP (register) */ -val decodeConditionalCompareRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeConditionalCompareRegister ([sf]@[op]@[1]@0b11010010@Rm@ _cond@[0]@[0]@Rn@[0]@nzcv) = { +val decodeConditionalCompareRegister : bits(32) -> option(ast) effect pure +function decodeConditionalCompareRegister ([sf]@[op]@[b1]@0b11010010@(Rm:bits(5))@ (_cond:bits(4))@[b0]@[b0]@(Rn:bits(5))@[b0]@(nzcv:bits(4))) = { n : reg_index = UInt_reg(Rn); m : reg_index = UInt_reg(Rm); - datasize : atom('R) = if sf == 1 then 64 else 32; - sub_op : boolean = (op ==1); + datasize : {|32,64|} /* : atom('R) */ = if sf == b1 then 64 else 32; + sub_op : boolean = (op == b1); condition : bits(4) = _cond; flags : bits(4) = nzcv; Some(ConditionalCompareRegister(n,m,datasize,sub_op,condition,flags)); } -function clause execute (ConditionalCompareRegister(n,m,datasize,sub_op,condition,flags)) = { +function clause execute (ConditionalCompareRegister((n,m,datasize as atom('R),sub_op,condition,flags))) = { operand1 : bits('R) = rX(n); operand2 : bits('R) = rX(m); - carry_in : bit = 0; + carry_in : bit = b0; flags' : bits(4) = flags; if ConditionHolds(condition) then { if sub_op then { operand2 = NOT(operand2); - carry_in = 1; + carry_in = b1; }; let (_,nzcv) = AddWithCarry (operand1, operand2, carry_in) in {flags' = nzcv}; }; @@ -2001,22 +2000,21 @@ function clause execute (ConditionalCompareRegister(n,m,datasize,sub_op,conditio /* CSINC op=0,o2=1 */ /* CSINV op=1,o2=0 */ /* CSNEG op=1,o2=1 */ -val decodeConditionalSelect : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeConditionalSelect ([sf]@[op]@[0]@0b11010100@Rm@ _cond@[0]@[o2]@Rn@Rd) = { +val decodeConditionalSelect : bits(32) -> option(ast) effect pure +function decodeConditionalSelect ([sf]@[op]@[b0]@0b11010100@(Rm:bits(5))@(_cond:bits(4))@[b0]@[o2]@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : (atom('R)) = if sf == 1 then 64 else 32; + datasize : {|32,64|}/* (atom('R)) */ = if sf == b1 then 64 else 32; condition : (bits(4)) = _cond; - else_inv : (boolean) = (op == 1); - else_inc : (boolean) = (o2 == 1); + else_inv : (boolean) = (op == b1); + else_inc : (boolean) = (o2 == b1); Some(ConditionalSelect(d,n,m,datasize,condition,else_inv,else_inc)); } -function clause execute ( ConditionalSelect(d,n,m,datasize,condition,else_inv,else_inc) ) = { - result : (bits('R)) = 0; /* ARM: uninitialized */ +function clause execute ( ConditionalSelect((d,n,m,datasize as atom('R),condition,else_inv,else_inc)) ) = { + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = rX(m); @@ -2031,21 +2029,20 @@ function clause execute ( ConditionalSelect(d,n,m,datasize,condition,else_inv,el wX(d) = result; } -val decodeData1Source : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeData1Source : bits(32) -> option(ast) effect pure scattered function decodeData1Source /* RBIT */ /* REV */ /* REV16 */ /* REV32 */ -function clause decodeData1Source ([sf]@[1]@[0]@0b11010110@0b00000@0b0000@opc@Rn@Rd) = { +function clause decodeData1Source ([sf]@[b1]@[b0]@0b11010110@0b00000@0b0000@(opc:bits(2))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); - datasize : (atom('R)) = if sf == 1 then 64 else 32; + datasize : {|32,64|}/* (atom('R)) */ = if sf == b1 then 64 else 32; - op : (RevOp) = 0; /* ARM: uninitialized */ + op : (RevOp) = RevOp_RBIT; /* ARM: uninitialized */ match opc { 0b00 => op = RevOp_RBIT, @@ -2054,7 +2051,7 @@ function clause decodeData1Source ([sf]@[1]@[0]@0b11010110@0b00000@0b0000@opc@Rn 0b10 => op = RevOp_REV32, 0b11 => { - if sf == 0 then UnallocatedEncoding(); + if sf == b0 then UnallocatedEncoding(); op = RevOp_REV64; } }; @@ -2062,27 +2059,31 @@ function clause decodeData1Source ([sf]@[1]@[0]@0b11010110@0b00000@0b0000@opc@Rn Some(Reverse(d,n,datasize,op)); } -function clause execute ( Reverse(d,n,datasize,op) ) = { - result : (bits('R)) = 0; /* ARM uninitialized */ - V : (bits(6)) = 0; /* ARM uninitialized */ +function clause execute ( Reverse((d,n,datasize as atom('R),op)) ) = { + result : (bits('R)) = Zeros(); /* ARM uninitialized */ + /* let V : (bits(6)) = Zeros(); /\* ARM uninitialized *\/ */ - match op { - RevOp_REV16 => V = 0b001000, - RevOp_REV32 => V = 0b011000, - RevOp_REV64 => V = 0b111000, - RevOp_RBIT => V = if datasize == 64 then 0b111111 else 0b011111 + let V : (bits(6)) = match op { + RevOp_REV16 => /* V = */ 0b001000, + RevOp_REV32 => /* V = */ 0b011000, + RevOp_REV64 => /* V = */ 0b111000, + RevOp_RBIT => /* V = */ if datasize == 64 then 0b111111 else 0b011111 }; - result = rX(n); + result : (bits('R)) = rX(n); foreach (vbit from 0 to 5) { /* Swap pairs of 2^vbit bits in result */ - if V[vbit] == 1 then { + if V[vbit] == b1 then { tmp : (bits('R)) = result; - vsize : (uinteger) = lsl(1, vbit); + let vsize /* : (uinteger) */ = lsl(1, vbit); + assert (vsize > 0); /* FIXME: CP adding assertion to make typecheck */ foreach (base from 0 to (datasize - 1) by (2 * vsize)) { /* ARM: while base < datasize do */ - result[((base+vsize) - 1)..base] = tmp[(base+(2*vsize) - 1)..(base+vsize)]; - result[(base+(2*vsize) - 1)..(base+vsize)] = tmp[(base+vsize - 1)..base]; + assert (base+vsize*2 - 1 < datasize); /* FIXME: CP adding assertion to make typecheck */ + let a = tmp[(base+(2*vsize) - 1)..(base+vsize)]; + result[((base+vsize) - 1)..base] = a; + let b = tmp[(base+vsize - 1)..base]; + result[(base+(2*vsize) - 1)..(base+vsize)] = b; /* ARM: base = base + (2 * vsize); */ }; }; @@ -2092,17 +2093,17 @@ function clause execute ( Reverse(d,n,datasize,op) ) = { /* CLS */ /* CLZ */ -function clause decodeData1Source ([sf]@[1]@[0]@0b11010110@0b00000@0b00010@[op]@Rn@Rd) = { +function clause decodeData1Source ([sf]@[b1]@[b0]@0b11010110@0b00000@0b00010@[op]@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); - datasize : (atom('R)) = if sf == 1 then 64 else 32; - opcode : (CountOp) = if op == 0 then CountOp_CLZ else CountOp_CLS; + datasize : {| 32,64 |} /* (atom('R)) */ = if sf == b1 then 64 else 32; + opcode : (CountOp) = if op == b0 then CountOp_CLZ else CountOp_CLS; Some(CountLeading(d,n,datasize,opcode)); } -function clause execute (CountLeading(d,n,datasize,opcode)) = { - result : (uinteger) = 0; /* ARM: uninitialized */ +function clause execute (CountLeading((d,n,datasize as atom('R),opcode))) = { + result : integer = 0; /* ARM: uninitialized */ operand1 : (bits('R)) = rX(n); if opcode == CountOp_CLZ then @@ -2110,28 +2111,27 @@ function clause execute (CountLeading(d,n,datasize,opcode)) = { else result = CountLeadingSignBits(operand1); - wX(d) = result : bits('R); + wX(d) = to_bits(result) : bits('R); } end decodeData1Source -val decodeData2Source : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeData2Source : bits(32) -> option(ast) effect pure scattered function decodeData2Source /* SDIV o1=1 */ /* UDIV o1=0 */ -function clause decodeData2Source ([sf]@[0]@[0]@0b11010110@Rm@0b00001@[o1]@Rn@Rd) = { +function clause decodeData2Source ([sf]@[b0]@[b0]@0b11010110@(Rm:bits(5))@0b00001@[o1]@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : (atom('R)) = if sf == 1 then 64 else 32; - _unsigned : (boolean) = (o1 == 0); + datasize : {| 32, 64 |} /* (atom('R)) */ = if sf == b1 then 64 else 32; + _unsigned : (boolean) = (o1 == b0); Some(Division(d,n,m,datasize,_unsigned)); } -function clause execute ( Division(d,n,m,datasize,_unsigned) ) = { +function clause execute ( Division((d,n,m,datasize as atom('R),_unsigned)) ) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = rX(m); result : (integer) = 0; /* ARM: uninitialized */ @@ -2141,25 +2141,25 @@ function clause execute ( Division(d,n,m,datasize,_unsigned) ) = { else result = /* ARM: RoundTowardsZero*/ quot (_Int(operand1, _unsigned), _Int(operand2, _unsigned)); /* FIXME: does quot round towards zero? */ - wX(d) = result : (bits('R)) ; /* ARM: result[(datasize-1)..0] */ + wX(d) = to_bits(result) : (bits('R)) ; /* ARM: result[(datasize-1)..0] */ } /* ASRV */ /* LSLV */ /* LSRV */ /* RORV */ -function clause decodeData2Source ([sf]@[0]@[0]@0b11010110@Rm@0b0010@op2@Rn@Rd) = { +function clause decodeData2Source ([sf]@[b0]@[b0]@0b11010110@(Rm:bits(5))@0b0010@(op2:bits(2))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : (atom('R)) = if sf == 1 then 64 else 32; + datasize : {| 32, 64 |} /* (atom('R)) */ = if sf == b1 then 64 else 32; shift_type : (ShiftType) = DecodeShift(op2); Some(Shift(d,n,m,datasize,shift_type)); } -function clause execute (Shift(d,n,m,datasize,shift_type)) = { - result : (bits('R)) = 0; /* ARM: uninitialized */ +function clause execute (Shift((d,n,m,datasize as atom('R),shift_type))) = { + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ operand2 : (bits('R)) = rX(m); result = ShiftReg(n, shift_type, mod (UInt(operand2), datasize)); @@ -2168,19 +2168,20 @@ function clause execute (Shift(d,n,m,datasize,shift_type)) = { /* CRC32B/CRC32H/CRC32W/CRC32X C=0 */ /* CRC32CB/CRC32CH/CRC32CW/CRC32CX C=1 */ -function clause decodeData2Source ([sf]@[0]@[0]@0b11010110@Rm@0b010@[C]@sz@Rn@Rd) = { +function clause decodeData2Source ([sf]@[b0]@[b0]@0b11010110@(Rm:bits(5))@0b010@[C]@(sz:bits(2))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - if sf == 1 & sz != 0b11 then UnallocatedEncoding(); - if sf == 0 & sz == 0b11 then UnallocatedEncoding(); - size : (atom('D)) = lsl(8, UInt(sz)); /* 2-bit size field -> 8, 16, 32, 64 */ - crc32c : (boolean) = (C == 1); + if sf == b1 & sz != 0b11 then UnallocatedEncoding(); + if sf == b0 & sz == 0b11 then UnallocatedEncoding(); + let size /* : {| 8,16,32,64 |} */ /* (atom('D)) */ = lsl(8, UInt(sz)); /* 2-bit size field -> 8, 16, 32, 64 */ + assert (size == 8 | size == 16 | size == 32 | size == 64); /*FIXME: CP adding assertion to make typecheck*/ + crc32c : (boolean) = (C == b1); Some(CRC(d,n,m,size,crc32c)); } -function clause execute ( CRC(d,n,m,size,crc32c) ) = { +function clause execute ( CRC((d,n,m,(size as atom('D)),crc32c)) ) = { if ~(HaveCRCExt()) then UnallocatedEncoding(); @@ -2197,25 +2198,24 @@ function clause execute ( CRC(d,n,m,size,crc32c) ) = { end decodeData2Source -val decodeData3Source : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeData3Source : bits(32) -> option(ast) effect pure scattered function decodeData3Source /* MADD o0=0 */ /* MSUB o0=1 */ -function clause decodeData3Source ([sf]@0b00@0b11011@0b000@Rm@[o0]@Ra@Rn@Rd) = { - d : (reg_index) = UInt_reg(Rd); - n : (reg_index) = UInt_reg(Rn); - m : (reg_index) = UInt_reg(Rm); - a : (reg_index) = UInt_reg(Ra); - destsize : (atom('R)) = if sf == 1 then 64 else 32; - datasize : (atom('D)) = destsize; - sub_op : (boolean) = (o0 == 1); +function clause decodeData3Source ([sf]@0b00@0b11011@0b000@(Rm:bits(5))@[o0]@(Ra:bits(5))@(Rn:bits(5))@(Rd:bits(5))) = { + let d : (reg_index) = UInt_reg(Rd); + let n : (reg_index) = UInt_reg(Rn); + let m : (reg_index) = UInt_reg(Rm); + let a : (reg_index) = UInt_reg(Ra); + let destsize /* (atom('R)) */ = if sf == b1 then 64 else 32; + let datasize /* (atom('D)) */ = destsize; + let sub_op : (boolean) = (o0 == b1); - Some(MultiplyAddSub(d,n,m,a,destsize,datasize,sub_op)); + Some(MultiplyAddSub((d,n,m,a,destsize,datasize,sub_op))); } -function clause execute ( MultiplyAddSub(d,n,m,a,destsize,datasize,sub_op) ) = { +function clause execute ( MultiplyAddSub((d,n,m,a,destsize as atom('D),datasize as atom('R),sub_op)) ) = { operand1 : (bits('D)) = rX(n); operand2 : (bits('D)) = rX(m); operand3 : (bits('R)) = rX(a); @@ -2227,27 +2227,27 @@ function clause execute ( MultiplyAddSub(d,n,m,a,destsize,datasize,sub_op) ) = { else result = UInt(operand3) + (UInt(operand1) * UInt(operand2)); - wX(d) = result : (bits('R)); + wX(d) = to_bits(result) : (bits('R)); } /* SMADDL */ /* SMSUBL */ /* UMADDL */ /* UMSUBL */ -function clause decodeData3Source ([1]@0b00@0b11011@[U]@0b01@Rm@[o0]@Ra@Rn@Rd) = { +function clause decodeData3Source ([b1]@0b00@0b11011@[U]@0b01@(Rm:bits(5))@[o0]@(Ra:bits(5))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); a : (reg_index) = UInt_reg(Ra); - destsize : (atom('R)) = 64; - datasize : (atom('D)) = 32; - sub_op : (boolean) = (o0 == 1); - _unsigned : (boolean) = (U == 1); + destsize /* : (atom('R)) */ = 64; + datasize /* : (atom('D)) */ = 32; + sub_op : (boolean) = (o0 == b1); + _unsigned : (boolean) = (U == b1); Some(MultiplyAddSubLong(d,n,m,a,destsize,datasize,sub_op,_unsigned)); } -function clause execute ( MultiplyAddSubLong(d,n,m,a,destsize,datasize,sub_op,_unsigned) ) = { +function clause execute ( MultiplyAddSubLong((d,n,m,a,destsize as atom('R),datasize as atom('D),sub_op,_unsigned)) ) = { operand1 : (bits('D)) = rX(n); operand2 : (bits('D)) = rX(m); operand3 : (bits('R)) = rX(a); @@ -2259,32 +2259,32 @@ function clause execute ( MultiplyAddSubLong(d,n,m,a,destsize,datasize,sub_op,_u else result = _Int(operand3, _unsigned) + (_Int(operand1, _unsigned) * _Int(operand2, _unsigned)); - wX(d) = result : (bits(64)); + wX(d) = to_bits(result) : (bits(64)); } /* SMULH */ /* UMULH */ -function clause decodeData3Source ([1]@0b00@0b11011@[U]@0b10@Rm@[0]@Ra@Rn@Rd) = { +function clause decodeData3Source ([b1]@0b00@0b11011@[U]@0b10@(Rm:bits(5))@[b0]@(Ra:bits(5))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); a : (reg_index) = UInt_reg(Ra); /* ignored by UMULH/SMULH */ - destsize : (atom('R)) = 64; - datasize : (atom('D)) = destsize; - _unsigned : (boolean) = (U == 1); + destsize /* : (atom('R)) */ = 64; + datasize /* : (atom('D)) */ = destsize; + _unsigned : (boolean) = (U == b1); Some(MultiplyHigh(d,n,m,a,destsize,datasize,_unsigned)); } -function clause execute ( MultiplyHigh(d,n,m,a,destsize,datasize,_unsigned) ) = { +function clause execute ( MultiplyHigh((d,n,m,a,destsize as atom('R),datasize,_unsigned)) ) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = rX(m); - result : (integer) = 0; /* ARM: uninitialized */ + /* result : (integer) = 0; /\* ARM: uninitialized *\/ */ result = _Int(operand1, _unsigned) * _Int(operand2, _unsigned); - wX(d) = (result : bits(128))[127..64]; + wX(d) = (to_bits(result) : bits(128))[127..64]; } end decodeData3Source @@ -2295,13 +2295,12 @@ end decodeData3Source /* ORN (shifted register) */ /* ORR (shifted register) */ /* BIC/BICS (shifted register) */ -val decodeLogicalShiftedRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure -function decodeLogicalShiftedRegister ([sf]@opc@0b01010@shift@[N]@Rm@(imm6 : bits(6))@Rn@Rd) = { +val decodeLogicalShiftedRegister : bits(32) -> option(ast) effect {escape} +function decodeLogicalShiftedRegister ([sf]@(opc:bits(2))@0b01010@(shift:bits(2))@[N]@(Rm:bits(5))@(imm6 : bits(6))@(Rn:bits(5))@(Rd:bits(5))) = { d : (reg_index) = UInt_reg(Rd); n : (reg_index) = UInt_reg(Rn); m : (reg_index) = UInt_reg(Rm); - datasize : (atom('R)) = if sf == 1 then 64 else 32; + datasize : {| 32,64 |} /* : (atom('R)) */ = if sf == b1 then 64 else 32; setflags : (boolean) = false; /* ARM: uninitialized */ op : (LogicalOp) = LogicalOp_AND; /* ARM: uninitialized */ match opc { @@ -2311,23 +2310,23 @@ function decodeLogicalShiftedRegister ([sf]@opc@0b01010@shift@[N]@Rm@(imm6 : bit 0b11 => {op = LogicalOp_AND; setflags = true} }; - if sf == 0 & imm6[5] == 1 then ReservedValue(); + if sf == b0 & imm6[5] == b1 then ReservedValue(); shift_type : (ShiftType) = DecodeShift(shift); shift_amount : range(0,63) = UInt(imm6); - invert : (boolean) = (N == 1); + invert : (boolean) = (N == b1); - Some(LogicalShiftedRegister(d,n,m,datasize,setflags,op,shift_type,shift_amount,invert)) + Some(LogicalShiftedRegister((d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) } -function clause execute (LogicalShiftedRegister(d,n,m,datasize,setflags,op,shift_type,shift_amount,invert)) = { +function clause execute (LogicalShiftedRegister((d,n,m,datasize as atom('R),setflags,op,shift_type,shift_amount,invert))) = { operand1 : (bits('R)) = rX(n); operand2 : (bits('R)) = ShiftReg(m, shift_type, shift_amount); if invert then operand2 = NOT(operand2); - result : (bits('R)) = 0; /* ARM: uninitialized */ + result : (bits('R)) = Zeros(); /* ARM: uninitialized */ match op { LogicalOp_AND => result = (operand1 & operand2), LogicalOp_ORR => result = (operand1 | operand2), @@ -2340,116 +2339,108 @@ function clause execute (LogicalShiftedRegister(d,n,m,datasize,setflags,op,shift wX(d) = result; } -val decodeDataSIMDFPoint1 : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeDataSIMDFPoint1 : bits(32) -> option(ast) effect {escape} function decodeDataSIMDFPoint1 (machineCode) = { not_implemented("decodeDataSIMDFPoint1"); - Some(Unallocated); + Some(Unallocated()); } -val decodeDataSIMDFPoint2 : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decodeDataSIMDFPoint2 : bits(32) -> option(ast) effect {escape} function decodeDataSIMDFPoint2 ( machineCode) = { not_implemented("decodeDataSIMDFPoint2"); - Some(Unallocated); + Some(Unallocated()); } -val decodeDataRegister : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeDataRegister : bits(32) -> option(ast) effect {escape} function decodeDataRegister (machineCode) = { match machineCode { - ([_]@[_]@[_]@[0]@ [1]@[0]@[1]@[0]@ [_]@[_]@[_]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeLogicalShiftedRegister(machineCode), - ([_]@[_]@[_]@[0]@ [1]@[0]@[1]@[1]@ [_]@[_]@[0]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeAddSubtractShiftedRegister(machineCode), - ([_]@[_]@[_]@[0]@ [1]@[0]@[1]@[1]@ [_]@[_]@[1]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeAddSubtractExtendedRegister(machineCode), - ([_]@[_]@[_]@[1]@ [1]@[0]@[1]@[0]@ [0]@[0]@[0]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeAddSubtractWithCarry(machineCode), - ([_]@[_]@[_]@[1]@ [1]@[0]@[1]@[0]@ [0]@[1]@[0]@ (_ : bits(9)) @[0]@(_ : bits(11))) => decodeConditionalCompareRegister(machineCode), - ([_]@[_]@[_]@[1]@ [1]@[0]@[1]@[0]@ [0]@[1]@[0]@ (_ : bits(9)) @[1]@(_ : bits(11))) => decodeConditionalCompareImmediate(machineCode), - ([_]@[_]@[_]@[1]@ [1]@[0]@[1]@[0]@ [1]@[0]@[0]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeConditionalSelect(machineCode), - ([_]@[_]@[_]@[1]@ [1]@[0]@[1]@[1]@ [_]@[_]@[_]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeData3Source(machineCode), - ([_]@[0]@[_]@[1]@ [1]@[0]@[1]@[0]@ [1]@[1]@[0]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeData2Source(machineCode), - ([_]@[1]@[_]@[1]@ [1]@[0]@[1]@[0]@ [1]@[1]@[0]@ (_ : bits(9)) @[_]@(_ : bits(11))) => decodeData1Source(machineCode) + ([_]@[_ ]@[_]@[b0]@ [b1]@[b0]@[b1]@[b0]@ [_ ]@[_ ]@[_ ]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeLogicalShiftedRegister(machineCode), + ([_]@[_ ]@[_]@[b0]@ [b1]@[b0]@[b1]@[b1]@ [_ ]@[_ ]@[b0]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeAddSubtractShiftedRegister(machineCode), + ([_]@[_ ]@[_]@[b0]@ [b1]@[b0]@[b1]@[b1]@ [_ ]@[_ ]@[b1]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeAddSubtractExtendedRegister(machineCode), + ([_]@[_ ]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b0]@[b0]@[b0]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeAddSubtractWithCarry(machineCode), + ([_]@[_ ]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b0]@[b1]@[b0]@ (_ : bits(9)) @[b0]@(_ : bits(11))) => decodeConditionalCompareRegister(machineCode), + ([_]@[_ ]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b0]@[b1]@[b0]@ (_ : bits(9)) @[b1]@(_ : bits(11))) => decodeConditionalCompareImmediate(machineCode), + ([_]@[_ ]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b1]@[b0]@[b0]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeConditionalSelect(machineCode), + ([_]@[_ ]@[_]@[b1]@ [b1]@[b0]@[b1]@[b1]@ [_ ]@[_ ]@[_] @ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeData3Source(machineCode), + ([_]@[b0]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b1]@[b1]@[b0]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeData2Source(machineCode), + ([_]@[b1]@[_]@[b1]@ [b1]@[b0]@[b1]@[b0]@ [b1]@[b1]@[b0]@ (_ : bits(9)) @[_ ]@(_ : bits(11))) => decodeData1Source(machineCode) } } -val decodeDataImmediate : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeDataImmediate : bits(32) -> option(ast) effect {escape} function decodeDataImmediate (machineCode) = { match machineCode { - ((_ : bits(3))@[1]@[0]@[0]@[0]@[0]@[_]@(_ : bits(23))) => decodePCRelAddressing(machineCode), - ((_ : bits(3))@[1]@[0]@[0]@[0]@[1]@[_]@(_ : bits(23))) => decodeAddSubtractImmediate(machineCode), - ((_ : bits(3))@[1]@[0]@[0]@[1]@[0]@[0]@(_ : bits(23))) => decodeLogicalImmediate(machineCode), - ((_ : bits(3))@[1]@[0]@[0]@[1]@[0]@[1]@(_ : bits(23))) => decodeMoveWideImmediate(machineCode), - ((_ : bits(3))@[1]@[0]@[0]@[1]@[1]@[0]@(_ : bits(23))) => decodeBitfield(machineCode), - ((_ : bits(3))@[1]@[0]@[0]@[1]@[1]@[1]@(_ : bits(23))) => decodeExtract(machineCode) + ((_ : bits(3))@[b1]@[b0]@[b0]@[b0]@[b0]@[_ ]@(_ : bits(23))) => decodePCRelAddressing(machineCode), + ((_ : bits(3))@[b1]@[b0]@[b0]@[b0]@[b1]@[_ ]@(_ : bits(23))) => decodeAddSubtractImmediate(machineCode), + ((_ : bits(3))@[b1]@[b0]@[b0]@[b1]@[b0]@[b0]@(_ : bits(23))) => decodeLogicalImmediate(machineCode), + ((_ : bits(3))@[b1]@[b0]@[b0]@[b1]@[b0]@[b1]@(_ : bits(23))) => decodeMoveWideImmediate(machineCode), + ((_ : bits(3))@[b1]@[b0]@[b0]@[b1]@[b1]@[b0]@(_ : bits(23))) => decodeBitfield(machineCode), + ((_ : bits(3))@[b1]@[b0]@[b0]@[b1]@[b1]@[b1]@(_ : bits(23))) => decodeExtract(machineCode) } } -val decodeLoadsStores : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeLoadsStores : bits(32) -> option(ast) effect {escape} function decodeLoadsStores (machineCode) = { match machineCode { - ([_]@[_]@[0]@[0]@ [1]@[0]@[0]@[0]@ [_]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreExclusive(machineCode), - ([_]@[_]@[0]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadRegisterLiteral(machineCode), - ([_]@[_]@[1]@[0]@ [1]@[_]@[0]@[0]@ [0]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreNoAllocatePairOffset(machineCode), - ([_]@[_]@[1]@[0]@ [1]@[_]@[0]@[0]@ [1]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairPostIndexed(machineCode), - ([_]@[_]@[1]@[0]@ [1]@[_]@[0]@[1]@ [0]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairOffset(machineCode), - ([_]@[_]@[1]@[0]@ [1]@[_]@[0]@[1]@ [1]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairPreIndexed(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[0]@[0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnscaledImmediate(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[0]@[1]@ (_ : bits(10)) ) => decodeLoadStoreRegisterImmediatePostIndexed(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[1]@[0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnprivileged(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[1]@[1]@ (_ : bits(10)) ) => decodeLoadStoreRegisterImmediatePreIndexed(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[0]@ [_]@[_]@[1]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[1]@[0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterRegisterOffset(machineCode), - ([_]@[_]@[1]@[1]@ [1]@[_]@[0]@[1]@ [_]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnsignedImmediate(machineCode), - ([0]@[_]@[0]@[0]@ [1]@[1]@[0]@[0]@ [0]@[_]@[0]@[0]@ [0]@[0]@[0]@[0]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreMultiStruct(machineCode), - ([0]@[_]@[0]@[0]@ [1]@[1]@[0]@[0]@ [1]@[_]@[0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreMultiStructPostIndexed(machineCode), - ([0]@[_]@[0]@[0]@ [1]@[1]@[0]@[1]@ [0]@[_]@[_]@[0]@ [0]@[0]@[0]@[0]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreSingleStruct(machineCode), - ([0]@[_]@[0]@[0]@ [1]@[1]@[0]@[1]@ [1]@[_]@[_]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreSingleStructPostIndexed(machineCode) + ([_ ]@[_]@[b0]@[b0]@ [b1]@[b0]@[b0]@[b0]@ [_ ]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreExclusive(machineCode), + ([_ ]@[_]@[b0]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadRegisterLiteral(machineCode), + ([_ ]@[_]@[b1]@[b0]@ [b1]@[_ ]@[b0]@[b0]@ [b0]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreNoAllocatePairOffset(machineCode), + ([_ ]@[_]@[b1]@[b0]@ [b1]@[_ ]@[b0]@[b0]@ [b1]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairPostIndexed(machineCode), + ([_ ]@[_]@[b1]@[b0]@ [b1]@[_ ]@[b0]@[b1]@ [b0]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairOffset(machineCode), + ([_ ]@[_]@[b1]@[b0]@ [b1]@[_ ]@[b0]@[b1]@ [b1]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterPairPreIndexed(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[b0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[b0]@[b0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnscaledImmediate(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[b0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[b0]@[b1]@ (_ : bits(10)) ) => decodeLoadStoreRegisterImmediatePostIndexed(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[b0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[b1]@[b0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnprivileged(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[b0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[b1]@[b1]@ (_ : bits(10)) ) => decodeLoadStoreRegisterImmediatePreIndexed(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b0]@ [_ ]@[_]@[b1]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[b1]@[b0]@ (_ : bits(10)) ) => decodeLoadStoreRegisterRegisterOffset(machineCode), + ([_ ]@[_]@[b1]@[b1]@ [b1]@[_ ]@[b0]@[b1]@ [_ ]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeLoadStoreRegisterUnsignedImmediate(machineCode), + ([b0]@[_]@[b0]@[b0]@ [b1]@[b1]@[b0]@[b0]@ [b0]@[_]@[b0]@[b0]@ [b0]@[b0]@[b0]@[b0]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreMultiStruct(machineCode), + ([b0]@[_]@[b0]@[b0]@ [b1]@[b1]@[b0]@[b0]@ [b1]@[_]@[b0]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreMultiStructPostIndexed(machineCode), + ([b0]@[_]@[b0]@[b0]@ [b1]@[b1]@[b0]@[b1]@ [b0]@[_]@[_ ]@[b0]@ [b0]@[b0]@[b0]@[b0]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreSingleStruct(machineCode), + ([b0]@[_]@[b0]@[b0]@ [b1]@[b1]@[b0]@[b1]@ [b1]@[_]@[_ ]@[_]@ [_]@[_]@[_]@[_]@ (_ : bits(4)) @[_]@[_]@ (_ : bits(10)) ) => decodeAdvSIMDLoadStoreSingleStructPostIndexed(machineCode) } } -val decodeSystemImplementationDefined : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeSystemImplementationDefined : bits(32) -> option(ast) effect {escape} function decodeSystemImplementationDefined (machineCode) = { match machineCode { - ((_ : bits(11)) @[0]@[1]@[_]@[_]@[_]@[1]@[_]@[1]@[1]@(_ : bits(12))) => decodeImplementationDefined(machineCode), - ((_ : bits(11)) @[1]@[1]@[_]@[_]@[_]@[1]@[_]@[1]@[1]@(_ : bits(12))) => decodeImplementationDefined(machineCode), - ((_ : bits(11)) @[_]@[_]@[_]@[_]@[_]@[_]@[_]@[_]@[_]@(_ : bits(12))) => decodeSystem(machineCode) + ((_ : bits(11)) @[b0]@[b1]@[_]@[_]@[_]@[b1]@[_]@[b1]@[b1]@(_ : bits(12))) => decodeImplementationDefined(machineCode), + ((_ : bits(11)) @[b1]@[b1]@[_]@[_]@[_]@[b1]@[_]@[b1]@[b1]@(_ : bits(12))) => decodeImplementationDefined(machineCode), + ((_ : bits(11)) @[_ ]@[_ ]@[_]@[_]@[_]@[_ ]@[_]@[_ ]@[_ ]@(_ : bits(12))) => decodeSystem(machineCode) } } -val decodeBranchesExceptionSystem : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect pure +val decodeBranchesExceptionSystem : bits(32) -> option(ast) effect {escape} function decodeBranchesExceptionSystem (machineCode) = { match machineCode { - ([_]@[0]@[0]@[1]@[0]@[1]@[_]@[_]@[_]@[_]@(_ : bits(22))) => decodeUnconditionalBranchImmediate(machineCode), - ([_]@[0]@[1]@[1]@[0]@[1]@[0]@[_]@[_]@[_]@(_ : bits(22))) => decodeCompareBranchImmediate(machineCode), - ([_]@[0]@[1]@[1]@[0]@[1]@[1]@[_]@[_]@[_]@(_ : bits(22))) => decodeTestBranchImmediate(machineCode), - ([0]@[1]@[0]@[1]@[0]@[1]@[0]@[_]@[_]@[_]@(_ : bits(22))) => decodeConditionalBranchImmediate(machineCode), - ([1]@[1]@[0]@[1]@[0]@[1]@[0]@[0]@[_]@[_]@(_ : bits(22))) => decodeExceptionGeneration(machineCode), - ([1]@[1]@[0]@[1]@[0]@[1]@[0]@[1]@[0]@[0]@(_ : bits(22))) => decodeSystemImplementationDefined(machineCode), - ([1]@[1]@[0]@[1]@[0]@[1]@[1]@[_]@[_]@[_]@(_ : bits(22))) => decodeUnconditionalBranchRegister(machineCode) + ([_ ]@[b0]@[b0]@[b1]@[b0]@[b1]@[_ ]@[_]@[_]@[_]@(_ : bits(22))) => decodeUnconditionalBranchImmediate(machineCode), + ([_ ]@[b0]@[b1]@[b1]@[b0]@[b1]@[b0]@[_]@[_]@[_]@(_ : bits(22))) => decodeCompareBranchImmediate(machineCode), + ([_ ]@[b0]@[b1]@[b1]@[b0]@[b1]@[b1]@[_]@[_]@[_]@(_ : bits(22))) => decodeTestBranchImmediate(machineCode), + ([b0]@[b1]@[b0]@[b1]@[b0]@[b1]@[b0]@[_]@[_]@[_]@(_ : bits(22))) => decodeConditionalBranchImmediate(machineCode), + ([b1]@[b1]@[b0]@[b1]@[b0]@[b1]@[b0]@[b0]@[_]@[_]@(_ : bits(22))) => decodeExceptionGeneration(machineCode), + ([b1]@[b1]@[b0]@[b1]@[b0]@[b1]@[b0]@[b1]@[b0]@[b0]@(_ : bits(22))) => decodeSystemImplementationDefined(machineCode), + ([b1]@[b1]@[b0]@[b1]@[b0]@[b1]@[b1]@[_]@[_]@[_]@(_ : bits(22))) => decodeUnconditionalBranchRegister(machineCode) } } -val decode : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. - bits(32) -> option(ast('R,'D)) effect {escape} +val decode : bits(32) -> option(ast) effect {escape} function decode (machineCode) = { match machineCode { - ((_ : bits(3)) @[0]@[0]@[_]@[_]@(_ : bits(25))) => Some(Unallocated), - ((_ : bits(3)) @[1]@[0]@[0]@[_]@(_ : bits(25))) => decodeDataImmediate(machineCode), - ((_ : bits(3)) @[1]@[0]@[1]@[_]@(_ : bits(25))) => decodeBranchesExceptionSystem(machineCode), - ((_ : bits(3)) @[_]@[1]@[_]@[0]@(_ : bits(25))) => decodeLoadsStores(machineCode), - ((_ : bits(3)) @[_]@[1]@[0]@[1]@(_ : bits(25))) => decodeDataRegister(machineCode), - ((_ : bits(3)) @[0]@[1]@[1]@[1]@(_ : bits(25))) => decodeDataSIMDFPoint1(machineCode), - ((_ : bits(3)) @[1]@[1]@[1]@[1]@(_ : bits(25))) => decodeDataSIMDFPoint2(machineCode), - _ => None + ((_ : bits(3)) @[b0]@[b0]@[_ ]@[_ ]@(_ : bits(25))) => Some(Unallocated()), + ((_ : bits(3)) @[b1]@[b0]@[b0]@[_ ]@(_ : bits(25))) => decodeDataImmediate(machineCode), + ((_ : bits(3)) @[b1]@[b0]@[b1]@[_ ]@(_ : bits(25))) => decodeBranchesExceptionSystem(machineCode), + ((_ : bits(3)) @[_ ]@[b1]@[_ ]@[b0]@(_ : bits(25))) => decodeLoadsStores(machineCode), + ((_ : bits(3)) @[_ ]@[b1]@[b0]@[b1]@(_ : bits(25))) => decodeDataRegister(machineCode), + ((_ : bits(3)) @[b0]@[b1]@[b1]@[b1]@(_ : bits(25))) => decodeDataSIMDFPoint1(machineCode), + ((_ : bits(3)) @[b1]@[b1]@[b1]@[b1]@(_ : bits(25))) => decodeDataSIMDFPoint2(machineCode), + _ => None() } } end execute -val supported_instructions : forall 'R 'D, 'R in {32,64} & 'D in {8,16,32,64}. ast('R,'D) -> option(ast('R,'D)) effect pure +val supported_instructions : ast -> option(ast) effect {escape} function supported_instructions (instr) = { match instr { _ => Some(instr) diff --git a/aarch64_small/armV8_A64_lib.sail b/aarch64_small/armV8_A64_lib.sail index cc405fb3..35961c02 100644 --- a/aarch64_small/armV8_A64_lib.sail +++ b/aarch64_small/armV8_A64_lib.sail @@ -34,14 +34,14 @@ /** FUNCTION:aarch64/exceptions/aborts/AArch64.Abort */ -val AArch64_Abort : (bits(64), FaultRecord) -> unit +val AArch64_Abort : (bits(64), FaultRecord) -> unit effect {escape} function AArch64_Abort(vaddress, fault) = { not_implemented("AArch64_Abort"); } /** FUNCTION:AArch64.SPAlignmentFault() */ -val AArch64_SPAlignmentFault : unit -> unit effect pure +val AArch64_SPAlignmentFault : unit -> unit effect {escape} function AArch64_SPAlignmentFault() = { not_implemented("AArch64_SPAlignmentFault"); } @@ -54,15 +54,15 @@ function AArch64_SoftwareBreakpoint(immediate : bits(16)) -> unit = { /** FUNCTION:aarch64/exceptions/exceptions/AArch64.TakeReset */ -val AArch64_TakeReset : boolean -> unit effect {wreg} +val AArch64_TakeReset : boolean -> unit effect {wreg,rreg,escape} function AArch64_TakeReset(cold_reset) = { - assert((~(HighestELUsingAArch32())), None); + assert(~(HighestELUsingAArch32())); /* Enter the highest implemented Exception level in AArch64 state */ - PSTATE_nRW = 0; + PSTATE_nRW = 0b0; if HaveEL(EL3) then { PSTATE_EL = EL3; - SCR_EL3.NS = 0; /* Secure state */ + SCR_EL3->NS() = 0b0; /* Secure state */ } else if HaveEL(EL2) then PSTATE_EL = EL2 else @@ -86,7 +86,7 @@ function AArch64_TakeReset(cold_reset) = { AArch64_ResetSpecialRegisters(); ResetExternalDebugRegisters(cold_reset); - rv : bits(64) = 0; /* ARM: uninitialized */ /* IMPLEMENTATION DEFINED reset vector */ + rv : bits(64) = Zeros(); /* ARM: uninitialized */ /* IMPLEMENTATION DEFINED reset vector */ if HaveEL(EL3) then rv = RVBAR_EL3 else if HaveEL(EL2) then @@ -95,37 +95,37 @@ function AArch64_TakeReset(cold_reset) = { rv = RVBAR_EL1; /* The reset vector must be correctly aligned */ - assert((IsZero(rv[63..(PAMax())]) & IsZero(rv[1..0])), Some("reset vector not correctly aligned")); + assert((IsZero(rv[63..(PAMax())]) & IsZero(rv[1..0])), "reset vector not correctly aligned"); BranchTo(rv, BranchType_UNKNOWN); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallHypervisor */ -val AArch64_CallHypervisor : immediate -> unit +val AArch64_CallHypervisor : bits(16) -> unit effect {escape} function AArch64_CallHypervisor (immediate) = { not_implemented("AArch64_CallHypervisor"); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallSecureMonitor */ -val AArch64_CallSecureMonitor : bits(16) -> unit +val AArch64_CallSecureMonitor : bits(16) -> unit effect {escape} function AArch64_CallSecureMonitor(immediate) = { not_implemented("AArch64_CallSecureMonitor"); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallSupervisor */ -val AArch64_CallSupervisor : bits(16) -> unit +val AArch64_CallSupervisor : bits(16) -> unit effect {escape} function AArch64_CallSupervisor(immediate) = { not_implemented("AArch64_CallSupervisor"); } /** FUNCTION:aarch64/exceptions/traps/AArch64.CheckForSMCTrap */ -val AArch64_CheckForSMCTrap : bits(16) -> unit +val AArch64_CheckForSMCTrap : bits(16) -> unit effect {escape, rreg} function AArch64_CheckForSMCTrap(imm) = { - route_to_el2 : boolean = (HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL == EL0 | PSTATE_EL == EL1) & HCR_EL2.TSC == 1); + route_to_el2 : boolean = (HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL() == EL0 | PSTATE_EL() == EL1) & HCR_EL2.TSC() == 0b1); if route_to_el2 then { not_implemented("AArch64_CheckForSMCTrap route_to_el2"); /* ARM: @@ -140,16 +140,16 @@ function AArch64_CheckForSMCTrap(imm) = { /** FUNCTION:aarch64/exceptions/traps/AArch64.CheckForWFxTrap */ -val AArch64_CheckForWFxTrap : (bits(2), boolean) -> unit effect{rreg} +val AArch64_CheckForWFxTrap : (bits(2), boolean) -> unit effect{escape,rreg} function AArch64_CheckForWFxTrap(target_el, is_wfe) = { - assert((HaveEL(target_el)), None); + assert(HaveEL(target_el)); trap : boolean = false; /* ARM: uninitialized */ - if target_el == EL1 then trap = ((if is_wfe then SCTLR_EL1.nTWE else SCTLR_EL1.nTWI) == 0) - else if target_el == EL2 then trap = ((if is_wfe then HCR_EL2.TWE else HCR_EL2.TWI) == 1) - else if target_el == EL3 then trap = ((if is_wfe then SCR_EL3.TWE else SCR_EL3.TWI) == 1) - else {assert(false,None); ()}; + if target_el == EL1 then trap = ((if is_wfe then SCTLR_EL1.nTWE() else SCTLR_EL1.nTWI()) == 0b0) + else if target_el == EL2 then trap = ((if is_wfe then HCR_EL2.TWE() else HCR_EL2.TWI()) == 0b1) + else if target_el == EL3 then trap = ((if is_wfe then SCR_EL3.TWE() else SCR_EL3.TWI()) == 0b1) + else {exit()}; if trap then @@ -181,20 +181,18 @@ function AArch64_WFxTrap(target_el : bits(2), is_wfe : boolean) -> unit = { function AArch64_CreateFaultRecord( faulttype : Fault, ipaddress : bits(48), level : uinteger, acctype : AccType, write : boolean, extflag : bit, secondstage : boolean, s2fs1walk : boolean) -> FaultRecord = { - fault : FaultRecord = { - faulttype = faulttype; - domain = UNKNOWN : bits(4); - debugmoe = UNKNOWN : bits(4); - ipaddress = ipaddress; - level = level; - acctype = acctype; - write = write; - extflag = extflag; - secondstage = secondstage; - s2fs1walk = s2fs1walk; + struct { + faulttype = faulttype, + domain = UNKNOWN_BITS() : bits(4), + debugmoe = UNKNOWN_BITS() : bits(4), + ipaddress = ipaddress, + level = level, + acctype = acctype, + write = write, + extflag = extflag, + secondstage = secondstage, + s2fs1walk = s2fs1walk }; - - fault; } /** FUNCTION:aarch64/functions/exclusive/AArch64.ExclusiveMonitorsPass */ @@ -278,9 +276,9 @@ function AArch64_SetExclusiveMonitors(address : bits(64), size : uinteger) -> un function AArch64_CheckAlignment(address : bits(64), size : uinteger, acctype : AccType, iswrite : boolean) -> boolean = { aligned : boolean = (address == Align(address, size)); - A : bit = (SCTLR'()).A; + let [A] = SCTLR'().A(); - if ~(aligned) & (acctype == AccType_ATOMIC | acctype == AccType_ORDERED | A == 1) then { + if ~(aligned) & (acctype == AccType_ATOMIC | acctype == AccType_ORDERED | A == b1) then { secondstage = false; AArch64_Abort(address, AArch64_AlignmentFault(acctype, iswrite, secondstage)); }; @@ -290,13 +288,13 @@ function AArch64_CheckAlignment(address : bits(64), size : uinteger, /** FUNCTION:// AArch64.MemSingle[] - non-assignment (read) form */ -val AArch64_rMemSingle : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType, boolean, bool) -> read_buffer_type effect {rmem} +val AArch64_rMemSingle : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType, boolean, bool) -> read_buffer_type effect {escape} function AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = { /*assert size IN {1, 2, 4, 8, 16};*/ - assert((address == Align(address, size)), None); + assert(address == Align(address, size)); /* ARM: AddressDescriptor memaddrdesc; */ - value : bits('N*8) = 0; + value : bits('N*8) = Zeros(); iswrite : boolean = false; /* MMU or MPU */ @@ -312,10 +310,10 @@ function AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, ex /** FUNCTION:// AArch64.MemSingle[] - assignment (write) form */ -val AArch64_wMemSingle : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, boolean, bool, bits('N*8)) -> write_buffer_type effect pure +val AArch64_wMemSingle : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, boolean, bool, bits('N*8)) -> write_buffer_type effect {escape} function AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = { /*assert size IN {1, 2, 4, 8, 16};*/ - assert((address == Align(address, size)), None); + assert(address == Align(address, size)); /* ARM: AddressDescriptor memaddrdesc; */ iswrite : boolean = true; @@ -337,15 +335,15 @@ function AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, e /** FUNCTION:CheckSPAlignment() */ -val CheckSPAlignment : unit -> unit effect {rreg} +val CheckSPAlignment : unit -> unit effect {rreg,escape} function CheckSPAlignment() = { sp : bits(64) = rSP(); stack_align_check : bool = false; /* ARM: this is missing from ARM ARM */ - if PSTATE_EL == EL0 then - stack_align_check = (SCTLR_EL1.SA0 != 0) + if PSTATE_EL() == EL0 then + stack_align_check = (SCTLR_EL1.SA0() != 0b0) else - stack_align_check = ((SCTLR'()).SA != 0); + stack_align_check = (SCTLR'().SA() != 0b0); if stack_align_check & sp != Align(sp, 16) then AArch64_SPAlignmentFault(); @@ -353,7 +351,7 @@ function CheckSPAlignment() = { /** FUNCTION:// Mem[] - non-assignment (read) form */ -val rMem' : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64),atom('N), AccType, bool) -> read_buffer_type effect {rmem} +val rMem' : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64),atom('N), AccType, bool) -> read_buffer_type effect {escape,rreg} function rMem'(read_buffer, address, size, acctype, exclusive) = { /* ARM: assert size IN {1, 2, 4, 8, 16}; */ @@ -366,9 +364,9 @@ function rMem'(read_buffer, address, size, acctype, exclusive) = atomic : boolean = ((aligned & ~(acctype == AccType_VEC | acctype == AccType_VECSTREAM)) | size == 1); if ~(atomic) then { - assert((~(exclusive)), None); /* as far as I can tell this should never happen */ + assert(~(exclusive)); /* as far as I can tell this should never happen */ - assert((size > 1), None); + assert(size > 1); if (~(exclusive)) then { /*value[7..0] =*/read_buffer' = AArch64_rMemSingle(read_buffer', address, 1, acctype, aligned, false); @@ -393,11 +391,11 @@ function rMem'(read_buffer, address, size, acctype, exclusive) = read_buffer' } -val rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {rmem} +val rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {escape,rreg} function rMem (read_buffer, address, size, acctype) = rMem'(read_buffer, address, size, acctype, false) -val rMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {rmem} +val rMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {escape,rreg} function rMem_exclusive(read_buffer, address, size, acctype) = rMem'(read_buffer, address, size, acctype, true) @@ -407,7 +405,7 @@ function rMem_exclusive(read_buffer, address, size, acctype) = store-exclusive, this function should only be called indirectly by one of the functions that follow it. returns true if the store-exclusive was successful. */ -val wMem' : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8), bool) -> write_buffer_type +val wMem' : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8), bool) -> write_buffer_type effect {escape,rreg} function wMem' (write_buffer, address, size, acctype, value, exclusive) = { write_buffer' : write_buffer_type = write_buffer; @@ -424,10 +422,10 @@ function wMem' (write_buffer, address, size, acctype, value, exclusive) = { exclusiveSuccess : bool = false; if ~(atomic) then { - assert((~(exclusive)), None); /* as far as I can tell this should never happen */ + assert(~(exclusive)); /* as far as I can tell this should never happen */ if (~(exclusive)) then { - assert((size > 1), None); + assert(size > 1); write_buffer' = AArch64_wMemSingle(write_buffer', address, 1, acctype, aligned, false, value'[7..0]); /* For subsequent bytes it is CONSTRAINED UNPREDICTABLE whether an unaligned Device memory */ @@ -447,61 +445,61 @@ function wMem' (write_buffer, address, size, acctype, value, exclusive) = { write_buffer' } -val wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type +val wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type effect {escape,rreg} function wMem (write_buffer, address, size, acctype, value) = wMem'(write_buffer, address, size, acctype, value, false) -val wMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> buffer_type +val wMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type effect {escape,rreg} function wMem_exclusive(write_buffer, address, size, acctype, value) = wMem'(write_buffer, address, size, acctype, value, true) /** FUNCTION:aarch64/functions/registers/AArch64.ResetGeneralRegisters */ -function unit AArch64_ResetGeneralRegisters() = +function AArch64_ResetGeneralRegisters() -> unit = { foreach (i from 0 to 30) - wX(i) = (UNKNOWN : bits(64)); + wX(i) = (UNKNOWN_BITS() : bits(64)); } /** FUNCTION:aarch64/functions/registers/AArch64.ResetSIMDFPRegisters */ -function unit AArch64_ResetSIMDFPRegisters() = +function AArch64_ResetSIMDFPRegisters() -> unit = { foreach (i from 0 to 31) - wV(i) = (UNKNOWN : bits(128)); + wV(i) = (UNKNOWN_BITS() : bits(128)); } /** FUNCTION:aarch64/functions/registers/AArch64.ResetSpecialRegisters */ -function unit AArch64_ResetSpecialRegisters() = +function AArch64_ResetSpecialRegisters() -> unit = { /* AArch64 special registers */ - SP_EL0 = (UNKNOWN : bits(64)); - SP_EL1 = (UNKNOWN : bits(64)); - SPSR_EL1 = (UNKNOWN : bits(32)); - ELR_EL1 = (UNKNOWN : bits(64)); + SP_EL0 = (UNKNOWN_BITS() : bits(64)); + SP_EL1 = (UNKNOWN_BITS() : bits(64)); + SPSR_EL1->bits() = (UNKNOWN_BITS() : bits(32)); + ELR_EL1 = (UNKNOWN_BITS() : bits(64)); if HaveEL(EL2) then { - SP_EL2 = (UNKNOWN : bits(64)); - SPSR_EL2 = (UNKNOWN : bits(32)); - ELR_EL2 = (UNKNOWN : bits(64)); + SP_EL2 = (UNKNOWN_BITS() : bits(64)); + SPSR_EL2->bits() = (UNKNOWN_BITS() : bits(32)); + ELR_EL2 = (UNKNOWN_BITS() : bits(64)); }; if HaveEL(EL3) then { - SP_EL3 = (UNKNOWN : bits(64)); - SPSR_EL3 = (UNKNOWN : bits(32)); - ELR_EL3 = (UNKNOWN : bits(64)); + SP_EL3 = (UNKNOWN_BITS() : bits(64)); + SPSR_EL3->bits() = (UNKNOWN_BITS() : bits(32)); + ELR_EL3 = (UNKNOWN_BITS() : bits(64)); }; /* AArch32 special registers that are not architecturally mapped to AArch64 registers */ if HaveAArch32EL(EL1) then { - SPSR_fiq = (UNKNOWN : bits(32)); - SPSR_irq = (UNKNOWN : bits(32)); - SPSR_abt = (UNKNOWN : bits(32)); - SPSR_und = (UNKNOWN : bits(32)); + SPSR_fiq = (UNKNOWN_BITS() : bits(32)); + SPSR_irq = (UNKNOWN_BITS() : bits(32)); + SPSR_abt = (UNKNOWN_BITS() : bits(32)); + SPSR_und = (UNKNOWN_BITS() : bits(32)); }; /* External debug special registers */ - DLR_EL0 = (UNKNOWN : bits(64)); - DSPSR_EL0 = (UNKNOWN : bits(32)); + DLR_EL0 = (UNKNOWN_BITS() : bits(64)); + DSPSR_EL0 = (UNKNOWN_BITS() : bits(32)); } /** FUNCTION:aarch64/functions/registers/PC */ @@ -511,95 +509,89 @@ function rPC () = _PC /** FUNCTION:// SP[] - assignment form */ -val wSP : forall 'N, 'N in {32,64}. (unit, bits('N)) -> unit effect {rreg,wreg} -function wSP ((), value) = { +val wSP : forall 'N, 'N in {32,64}. (bits('N)) -> unit effect {rreg,wreg,escape} +function wSP (value) = { /*assert width IN {32,64};*/ - if PSTATE_SP == 0 then + if PSTATE_SP() == 0b0 then SP_EL0 = ZeroExtend(value) else - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then SP_EL0 = ZeroExtend(value) else if pstate_el == EL1 then SP_EL1 = ZeroExtend(value) else if pstate_el == EL2 then SP_EL2 = ZeroExtend(value) else if pstate_el == EL3 then SP_EL3 = ZeroExtend(value) - else assert(false,None); (); + else exit() } } /** FUNCTION:// SP[] - non-assignment form */ -val rSP : unit -> bits('N) effect {rreg} -function rSP () = { +function rSP(N) = { /*assert width IN {8,16,32,64};*/ - if PSTATE_SP == 0 then + if PSTATE_SP() == 0b0 then mask(SP_EL0) else - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then mask(SP_EL0) else if pstate_el == EL1 then mask(SP_EL1) else if pstate_el == EL2 then mask(SP_EL2) else if pstate_el == EL3 then mask(SP_EL3) - else {assert(false,None); mask(SP_EL3)} + else {exit()} } } /** FUNCTION:// V[] - assignment form */ -val wV : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, bits('N)) -> unit effect {wreg} function wV (n, value) = { /*assert n >= 0 && n <= 31;*/ /*assert width IN {8,16,32,64,128};*/ - _V[n] = ZeroExtend(value); + (* _V[n]) = ZeroExtend(value); } /** FUNCTION:// V[] - non-assignment form */ -val rV: forall 'N, 'N in {8,16,32,64,128}. SIMD_index -> bits('N) effect {rreg} -function rV (n) = mask(_V[n]) +function rV (N,n) = mask(reg_deref (_V[n])) /** FUNCTION:// Vpart[] - non-assignment form */ -val rVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1)) -> bits('N) effect {rreg} -function rVpart (n,part) = { +function rVpart (N,n,part) = { if part == 0 then - mask(_V[n]) : bits('N) + mask(reg_deref(_V[n])) : bits('N) else { - assert((length(0 : bits('N)) == 64), None); - ((_V[n])[127..64]) : bits(64); + assert(N == 64); + (reg_deref(_V[n])[127..64]) : bits(64); } } /** FUNCTION:// Vpart[] - assignment form */ -val wVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1), bits('N)) -> unit effect {wreg} +val wVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1), bits('N)) -> unit effect {wreg,escape} function wVpart(n, part, value) = { if part == 0 then - _V[n] = ZeroExtend(value) + (* _V[n]) = ZeroExtend(value) else { - assert((length(0 : bits('N)) == 64), None); - (_V[n])[127..64] = value; + assert(length(value) == 64); + (* _V[n])[127..64] = value; } } /** FUNCTION:// X[] - assignment form */ -val wX : forall 'N, 'N in {32,64}. (reg_index, bits('N)) -> unit effect {wreg} function wX(n, value) = { /*assert n >= 0 && n <= 31;*/ /*assert width IN {32,64};*/ if n != 31 then - _R[n] = ZeroExtend(value); + (* _R[n]) = ZeroExtend(value); } /** FUNCTION:// X[] - non-assignment form */ -val rX : forall 'N, 'N in {8,16,32,64}. reg_index -> bits('N) effect {rreg} -function rX(n) = { +function rX(N,n) = { /*assert n >= 0 && n <= 31;*/ /*assert width IN {8,16,32,64};*/ if n != 31 then - mask(_R[n]) + mask(reg_deref(_R[n])) else Zeros(); } @@ -607,7 +599,7 @@ function rX(n) = { /** FUNCTION:bits(64) ELR[bits(2) el] */ function rELR(el : bits(2)) -> bits(64) = { - r = 0 : bits(64); /* ARM: uninitialized */ + r = Zeros() : bits(64); /* ARM: uninitialized */ if el == EL1 then r = ELR_EL1 else if el == EL2 then r = ELR_EL2 else if el == EL3 then r = ELR_EL3 @@ -617,42 +609,42 @@ function rELR(el : bits(2)) -> bits(64) = { /** FUNCTION:bits(64) ELR[] */ -function rELR'() -> bits(64) = -{ - assert (PSTATE_EL != EL0, None); - rELR(PSTATE_EL); +function rELR'() -> bits(64) = { + let pstate_el = PSTATE_EL(); + assert (pstate_el != EL0); + rELR(pstate_el); } /** FUNCTION:SCTLRType SCTLR[bits(2) regime] */ -val SCTLR : bits(2) -> SCTLR_type effect {rreg} +/* FIXME: this reads the whole register. Do we want that? */ +val SCTLR : bits(2) -> SCTLR_type effect {escape, rreg} function SCTLR (regime) = { if regime == EL1 then SCTLR_EL1 else if regime == EL2 then SCTLR_EL2 else if regime == EL3 then SCTLR_EL3 - else {assert(false,Some("SCTLR_type unreachable")); SCTLR_EL1} /* ARM: Unreachabe() */ + else Unreachable("SCTLR_type unreachable") /* ARM: Unreachabe() */ } /** FUNCTION:SCTLRType SCTLR[] */ -val SCTLR' : unit -> SCTLR_type effect{rreg} function SCTLR' () = SCTLR(S1TranslationRegime()) /** FUNCTION:aarch64/functions/system/AArch64.CheckUnallocatedSystemAccess */ /* return true if the access is not allowed */ function AArch64_CheckUnallocatedSystemAccess (op0 : bits(2), op1 : bits(3), crn : bits(4), - crm : bits(4), op2 : bits(3), read : bit) -> boolean = -{ + crm : bits(4), op2 : bits(3), read : bit) -> boolean = { match (op0,op1,crn,crm,op2, read) { - (0b00,0b000,0b0100,_,0b101, _) => PSTATE_EL < EL1 /* SPSel */, + (0b00,0b000,0b0100,_,0b101, _) => UInt(PSTATE_EL()) < UInt(EL1) /* CP: added conversion to uint */ /* SPSel */, (0b00,0b011,0b0100,_,0b110, _) => false, /* DAIFSet */ /* TODO: EL0 Config-RW ??? */ (0b00,0b011,0b0100,_,0b111, _) => false, /* DAIFClr */ /* TODO: EL0 Config-RW ??? */ /* follow the "Usage constraints" of each register */ (0b11,0b011,0b0100,0b0010,0b000, _) => false, /* NZCV */ - (0b11,0b011,0b0100,0b0010,0b001, _) => false /* DAIF */ /* TODO: EL0 Config-RW ??? */ -/* (0b11,0b000,0b0001,0b0000,0b001, _) => PSTATE_EL < EL1 /* ACTLR_EL1 */ */ + (0b11,0b011,0b0100,0b0010,0b001, _) => false, /* DAIF */ /* TODO: EL0 Config-RW ??? */ +/* (0b11,0b000,0b0001,0b0000,0b001, _) => PSTATE_EL < EL1 (* ACTLR_EL1 *) */ + _ => exit() } } @@ -665,7 +657,7 @@ function CheckSystemAccess (op0 : bits(2), op1 : bits(3), crn : bits(4), crm : b /*level, security state and configuration, based on the opcode's encoding.*/ unallocated : boolean = false; need_secure : boolean = false; - min_EL : bits(2) = 0; /* ARM: uninitialized */ + min_EL : bits(2) = 0b00; /* ARM: uninitialized */ /*Check for traps by HCR_EL2.TIDCP*/ /* TODO: uncomment when implementing traps @@ -697,7 +689,7 @@ function CheckSystemAccess (op0 : bits(2), op1 : bits(3), crn : bits(4), crm : b need_secure = true; } }; - if PSTATE_EL < min_EL then /* ARM: UInt */ + if UInt(PSTATE_EL()) < UInt(min_EL) then /* ARM: UInt */ /* CP: added Uint */ UnallocatedEncoding() else if need_secure & ~(IsSecure()) then UnallocatedEncoding() @@ -720,27 +712,28 @@ function CheckSystemAccess (op0 : bits(2), op1 : bits(3), crn : bits(4), crm : b /** FUNCTION:aarch64/functions/system/SysOp_R */ -val SysOp_R : (uinteger, uinteger, uinteger, uinteger, uinteger) -> bits(64) +val SysOp_R : (uinteger, uinteger, uinteger, uinteger, uinteger) -> bits(64) effect {escape} function SysOp_R(op0, op1, crn, crm, op2) = { not_implemented("SysOp_R"); - 0; + Zeros(); } /** FUNCTION:aarch64/functions/system/SysOp_W */ -val SysOp_W : (uinteger, uinteger, uinteger, uinteger, uinteger, bits(64)) -> unit -function unit SysOp_W(op0, op1, crn, crm, op2, _val) = { +val SysOp_W : (uinteger, uinteger, uinteger, uinteger, uinteger, bits(64)) -> unit effect {escape} +function SysOp_W(op0, op1, crn, crm, op2, _val) = { not_implemented("SysOp_W"); } /** FUNCTION:bits(64) System_Get(integer op0, integer op1, integer crn, integer crm, integer op2); */ -val System_Get : (uinteger, uinteger, uinteger, uinteger, uinteger) -> bits(64) +val System_Get : (uinteger, uinteger, uinteger, uinteger, uinteger) -> bits(64) effect{escape,rreg} function System_Get(op0, op1, crn, crm, op2) -> bits(64) = { match (op0,op1,crn,crm,op2) { - (3,3,4,2,0) => ZeroExtend(NZCV), - (3,3,4,2,1) => ZeroExtend(DAIF), - (3, 3, 13, 0, 2) => TPIDR_EL0 + (3,3,4,2,0) => ZeroExtend(NZCV.bits()), + (3,3,4,2,1) => ZeroExtend(DAIF.bits()), + (3, 3, 13, 0, 2) => TPIDR_EL0, + _ => exit() /* TODO FIXME: higher EL TPIDRs */ /* (3,0,1,0,1) => ZeroExtend(ACTLR_EL1) */ @@ -749,12 +742,13 @@ function System_Get(op0, op1, crn, crm, op2) -> bits(64) = { /** FUNCTION:System_Put(integer op0, integer op1, integer crn, integer crm, integer op2, bits(64) val); */ -val System_Put : (uinteger, uinteger, uinteger, uinteger, uinteger, bits(64)) -> unit effect {wreg} +val System_Put : (uinteger, uinteger, uinteger, uinteger, uinteger, bits(64)) -> unit effect {wreg,escape} function System_Put(op0, op1, crn, crm, op2, _val) = { match (op0,op1,crn,crm,op2) { - (3,3,4,2,0) => NZCV = _val[31..0], - (3,3,4,2,1) => DAIF = _val[31..0], - (3,3,13,0,2) => TPIDR_EL0 = _val[63..0] + (3,3,4,2,0) => NZCV->bits() = _val[31..0], + (3,3,4,2,1) => DAIF->bits() = _val[31..0], + (3,3,13,0,2) => TPIDR_EL0 = _val[63..0], + _ => exit() /* TODO FIXME: higher EL TPIDRs */ /* (3,0,1,0,1) => ACTLR_EL1 = _val[31..0] */ @@ -763,14 +757,14 @@ function System_Put(op0, op1, crn, crm, op2, _val) = { /** FUNCTION:aarch64/instrs/branch/eret/AArch64.ExceptionReturn */ -function unit AArch64_ExceptionReturn(new_pc : bits(64), spsr : bits(32)) = { +function AArch64_ExceptionReturn(new_pc : bits(64), spsr : bits(32)) -> unit = { not_implemented("AArch64_ExceptionReturn"); } /** ENUMERATE:aarch64/instrs/countop/CountOp */ /** FUNCTION:ExtendType DecodeRegExtend(bits(3) op) */ -function ExtendType DecodeRegExtend (op : bits(3)) = { +function DecodeRegExtend (op : bits(3)) -> ExtendType = { match op { 0b000 => ExtendType_UXTB, 0b001 => ExtendType_UXTH, @@ -785,12 +779,11 @@ function ExtendType DecodeRegExtend (op : bits(3)) = { /** FUNCTION:aarch64/instrs/extendreg/ExtendReg */ -val ExtendReg : forall 'N 'S, 'N in {8,16,32,64} & 'S >= 0 & 'S <= 4. - (implicit('N), reg_index, ExtendType, atom('S)) -> bits('N) effect {rreg} -function ExtendReg (_reg, etype, shift) = -{ +val ExtendReg : forall 'N 'S, 'N in {8,16,32,64} & 'S >= 0 & 'S <= /* 4 */ 7. + (implicit('N), reg_index, ExtendType, atom('S)) -> bits('N) effect {rreg,escape} +function ExtendReg (N, _reg, etype, shift) = { /*assert( shift >= 0 & shift <= 4 );*/ - /* _val */ rX : bits('N) = (_reg); + _val : bits('N) = rX(_reg); _unsigned : boolean = false; len : uinteger = 0; @@ -805,7 +798,10 @@ function ExtendReg (_reg, etype, shift) = ExtendType_UXTX => { _unsigned = true; len = 64} }; - len = uMin(len, length(_val) - shift); + let len = uMin(len, length(_val) - shift); + assert( len >= 1 & 'S + len < 'N); + let a = (_val[(len - 1)..0]); + /* Zeros() */ Extend((_val[(len - 1)..0]) @ (Zeros() : bits('S)), _unsigned) } @@ -813,21 +809,21 @@ function ExtendReg (_reg, etype, shift) = /** ENUMERATE:aarch64/instrs/integer/arithmetic/rev/revop/RevOp */ /** FUNCTION:(bits(M), bits(M)) DecodeBitMasks (bit immN, bits(6) imms, bits(6) immr, boolean immediate) */ -val DecodeBitMasks : forall 'M 'E, 'M >= 0 & 'E in {2,4,8,16,32,64}. (implicit('M),bit,bits(6),bits(6),boolean) -> (bits('M),bits('M)) effect {escape} -function DecodeBitMasks(immN, imms, immr, immediate) = { - let M = (length(0 : bits('M))) in { -/* ARM: (bits('M)) tmask = 0; /* ARM: uninitialized */ */ -/* ARM: (bits('M)) wmask = 0; /* ARM: uninitialized */ */ - levels : bits(6) = 0; /* ARM: uninitialized */ +val DecodeBitMasks : forall 'M, 'M >= 0 /* & 'E in {2,4,8,16,32,64} */. (implicit('M), bit, bits(6), bits(6), boolean) -> (bits('M), bits('M)) effect {escape} +function DecodeBitMasks(M : atom('M), immN : bit, imms : bits(6), immr : bits(6), immediate : boolean) = { + /* let M = (length((bit['M]) 0)) in { */ + /* ARM: (bit['M]) tmask := 0; (* ARM: uninitialized *) */ + /* ARM: (bit['M]) wmask := 0; (* ARM: uninitialized *) */ + levels : bits(6) = Zeros(); /* ARM: uninitialized */ /* Compute log2 of element size */ /* 2^len must be in range [2, 'M] */ - len : range(0,6) = match HighestSetBit([immN]@(NOT(imms))) { - None => { assert (false,Some("DecodeBitMasks: HighestSetBit returned None")); 0; }, - (Some(c)) => c + let len : range(0,6) = match HighestSetBit([immN]@(~(imms))) { + None() => { assert (false, "DecodeBitMasks: HighestSetBit returned None"); 0; }, + Some(c) => c }; - if len < 1 then ReservedValue(); - assert((M >= lsl(1, len)),None); + if len < 1 then {ReservedValue(); exit()} else { + assert(M >= lsl(1, len)); /* Determine S, R and S - R parameters */ levels = ZeroExtend(0b1 ^^ len); @@ -837,28 +833,35 @@ function DecodeBitMasks(immN, imms, immr, immediate) = { if immediate & ((imms & levels) == levels) then ReservedValue(); - S : bits(6) = (imms & levels); - R : bits(6) = (immr & levels); - diff : bits(6) = S - R; /* 6-bit subtract with borrow */ - - esize : atom('E) = lsl(1, len); - d : bits(6) = diff[(len - 1)..0]; - welem : bits('E) = ZeroExtend(0b1 ^^ (S + 1)); - telem : bits('E) = ZeroExtend(0b1 ^^ (d + 1)); - wmask = Replicate(ROR(welem, R)); - tmask = Replicate(telem); + let S = UInt (imms & levels); + let R = UInt (immr & levels); + let diff : bits(6) = to_bits(S - R); /* 6-bit subtract with borrow */ + + let esize as atom('E) = lsl(1, len); + let d /* : bits(6) */ = UInt (diff[(len - 1)..0]); + assert(esize >= S+1); /* CP: adding this assertion to make typecheck */ + welem : bits('E) = ZeroExtend(Ones(S + 1)); + telem : bits('E) = ZeroExtend(Ones(d + 1)); + wmask = Replicate(M,ROR(welem, R)); + tmask = Replicate(M,telem); (wmask, tmask); }} /** ENUMERATE:aarch64/instrs/integer/ins-ext/insert/movewide/movewideop/MoveWideOp */ /** FUNCTION:ShiftType DecodeShift(bits(2) op) */ -function ShiftType DecodeShift(op : bits(2)) = op : range(0,4) +function DecodeShift(op : bits(2)) -> ShiftType = + match op { + 0b00 => ShiftType_LSL, + 0b01 => ShiftType_LSR, + 0b10 => ShiftType_ASR, + 0b11 => ShiftType_ROR + } /** FUNCTION:bits(N) ShiftReg(integer reg, ShiftType type, integer amount) */ -val ShiftReg : forall 'N, 'N >= 0. (implicit('N), reg_index, ShiftType, nat) -> bits('N) effect {rreg} -function ShiftReg(_reg, stype, amount) = { +val ShiftReg : forall 'N, 'N in {8,16,32,64}. (implicit('N), reg_index, ShiftType, nat) -> bits('N) effect {escape, rreg} +function ShiftReg(N,_reg, stype, amount) = { result : bits('N) = rX(_reg); match stype { ShiftType_LSL => result = LSL(result, amount), @@ -874,10 +877,10 @@ function ShiftReg(_reg, stype, amount) = { /** ENUMERATE:aarch64/instrs/memory/memop/MemOp */ /** FUNCTION:aarch64/instrs/memory/prefetch/Prefetch */ -function unit Prefetch(address : bits(64), prfop : bits(5)) = { - hint : PrefetchHint = 0; +function Prefetch(address : bits(64), prfop : bits(5)) -> unit = { + hint : PrefetchHint = Prefetch_READ; target : uinteger = 0; - stream : boolean = 0; + stream : boolean = b0; returnv : bool = false; match prfop[4..3] { @@ -887,8 +890,8 @@ function unit Prefetch(address : bits(64), prfop : bits(5)) = { 0b11 => returnv = true /* unallocated hint */ }; if ~(returnv) then { - target = prfop[2..1]; /* target cache level */ - stream = (prfop[0] != 0); /* streaming (non-temporal) */ + target = UInt(prfop[2..1]); /* target cache level */ + stream = (prfop[0] != b0); /* streaming (non-temporal) */ Hint_Prefetch(address, hint, target, stream); }} @@ -897,11 +900,11 @@ function unit Prefetch(address : bits(64), prfop : bits(5)) = { /** ENUMERATE:aarch64/instrs/system/register/cpsr/pstatefield/PSTATEField */ /** FUNCTION:aarch64/translation/faults/AArch64.AlignmentFault */ -function FaultRecord AArch64_AlignmentFault(acctype : AccType, iswrite : boolean, secondstage : boolean) = { - ipaddress : bits(48) = UNKNOWN; +function AArch64_AlignmentFault(acctype : AccType, iswrite : boolean, secondstage : boolean) -> FaultRecord = { + ipaddress : bits(48) = UNKNOWN_BITS(); level : uinteger = UNKNOWN; - extflag : bit = UNKNOWN; - s2fs1walk : boolean = UNKNOWN; + extflag : bit = UNKNOWN_BIT; + s2fs1walk : boolean = UNKNOWN_BIT; AArch64_CreateFaultRecord(Fault_Alignment, ipaddress, level, acctype, iswrite, extflag, secondstage, s2fs1walk); @@ -909,12 +912,12 @@ function FaultRecord AArch64_AlignmentFault(acctype : AccType, iswrite : boolean /** FUNCTION:aarch64/translation/faults/AArch64.NoFault */ -function FaultRecord AArch64_NoFault() = { - ipaddress : bits(48) = UNKNOWN; +function AArch64_NoFault() -> FaultRecord = { + ipaddress : bits(48) = UNKNOWN_BITS(); level : uinteger = UNKNOWN; acctype : AccType = AccType_NORMAL; - iswrite : boolean = UNKNOWN; - extflag : bit = UNKNOWN; + iswrite : boolean = UNKNOWN_BIT; + extflag : bit = UNKNOWN_BIT; secondstage : boolean = false; s2fs1walk : boolean = false; @@ -928,10 +931,10 @@ function AArch64_TranslateAddress (vaddress : bits(64), acctype : AccType, iswrite : boolean, wasaligned : boolean, size : uinteger) -> AddressDescriptor = { info("Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)."); - result : AddressDescriptor = { - fault = AArch64_NoFault(); - memattrs = {MA_type = MemType_Normal; shareable = true}; - paddress = {physicaladdress = vaddress; NS = 1}; + result : AddressDescriptor = struct { + fault = AArch64_NoFault(), + memattrs = struct {MA_type = MemType_Normal, shareable = true}, + paddress = struct {physicaladdress = vaddress, NS = b1} }; /* ARM: uncomment when implementing TLB and delete the code above (AddressDescriptor) result = AArch64_FullTranslate(vaddress, acctype, iswrite, wasaligned, size); diff --git a/aarch64_small/armV8_A64_sys_regs.sail b/aarch64_small/armV8_A64_sys_regs.sail index b051c87d..36f7c3f6 100644 --- a/aarch64_small/armV8_A64_sys_regs.sail +++ b/aarch64_small/armV8_A64_sys_regs.sail @@ -173,6 +173,12 @@ bitfield SCTLR_type : bits(32) = register SCTLR_EL2 : SCTLR_type /* System Control Register (EL2) */ register SCTLR_EL3 : SCTLR_type /* System Control Register (EL3) */ + + +/* CP: added coercion from SCTLR_EL1_type to SCTLR_type for the SCTLR function */ +val cast SCTLR_EL1_type_to_SCTLR_type : SCTLR_EL1_type -> SCTLR_type + + bitfield TCR_EL1_type : bits(64) = { /*RES0 : 63..39,*/ diff --git a/aarch64_small/armV8_common_lib.sail b/aarch64_small/armV8_common_lib.sail index b28dc462..5b6cd52e 100644 --- a/aarch64_small/armV8_common_lib.sail +++ b/aarch64_small/armV8_common_lib.sail @@ -166,7 +166,7 @@ function IsFault(addrdesc : AddressDescriptor) -> boolean= { /* CP: replacing this with the slightly simpler one below */ -val ASR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) +val ASR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) effect {escape} function ASR (x, shift) = { /*assert shift >= 0;*/ if shift == 0 then x @@ -176,7 +176,6 @@ function ASR (x, shift) = { /** FUNCTION:shared/functions/common/ASR_C */ -val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N), atom('S)) -> (bits('N), bit) function ASR_C (x, shift) = { /*assert shift > 0;*/ extended_x : bits('S+'N) = SignExtend(x); @@ -197,7 +196,7 @@ function Align'(x : uinteger, y : uinteger) -> uinteger = /** FUNCTION:bits(N) Align(bits(N) x, integer y) */ -val Align : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) +val Align : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) effect {escape} function Align (x, y) = to_bits (Align'(UInt(x), y)) @@ -210,7 +209,6 @@ function CountLeadingSignBits(x) = /** FUNCTION:integer CountLeadingZeroBits(bits(N) x) */ -val CountLeadingZeroBits : forall 'N, 'N >= 0. bits('N) -> range(0,'N) function CountLeadingZeroBits(x) = match HighestSetBit(x) { None() => length(x), @@ -218,7 +216,7 @@ function CountLeadingZeroBits(x) = } /** FUNCTION:bits(N) Extend(bits(M) x, integer N, boolean unsigned) */ -val Extend : forall 'N 'M, 1 <= 'M & 'M < 'N. (atom('N),bits('M),bit) -> bits('N) effect pure +val Extend : forall 'N 'M, 1 <= 'M & 'M < 'N. (implicit('N),bits('M),bit) -> bits('N) effect {escape} function Extend (n, x, _unsigned) = if _unsigned then ZeroExtend(n,x) else SignExtend(n,x) @@ -230,7 +228,7 @@ function Extend (n, x, _unsigned) = /* result : range(0,'N - 1) = 0; */ /* break : bool = false; */ /* foreach (i from (N - 1) downto 0) */ -/* if ~(break) & (x[i] == bitone) then { */ +/* if ~(break) & (x[i] == b1) then { */ /* result = i; */ /* break = true; */ /* }; */ @@ -238,11 +236,10 @@ function Extend (n, x, _unsigned) = /* if break then Some(result) else None; */ /* }} */ -val HighestSetBit : forall 'N, 'N >= 0. bits('N) -> option(range(0, 'N - 1)) function HighestSetBit(x) = { let N = length(x) in { foreach (i from (N - 1) downto 0) - if x[i] == bitone then { + if x[i] == b1 then { return (Some(i)); }; None(); @@ -251,20 +248,20 @@ function HighestSetBit(x) = { /** FUNCTION:integer Int(bits(N) x, boolean unsigned) */ /* used to be called Int */ -val _Int : forall 'N, 'N >= 0. (bits('N), boolean) -> integer +val _Int : forall 'N, 'N >= 1. (bits('N), boolean) -> integer effect {escape} function _Int (x, _unsigned) = { if _unsigned then UInt(x) else SInt(x) } /** FUNCTION:boolean IsZero(bits(N) x) */ -val IsZero : forall 'N, 'N >= 0. bits('N) -> boolean -function IsZero(x) = x == 0 /* ARM: Zeros(N) */ +/* function IsZero(x) = x == 0 /\* ARM: Zeros(N) *\/ */ +function IsZero(x) = x == Zeros() /* ARM: Zeros(N) */ /** FUNCTION:bit IsZeroBit(bits(N) x) */ val IsZeroBit : forall 'N, 'N >= 0. bits('N) -> bit -function IsZeroBit(x) = if IsZero(x) then 1 else 0 +function IsZeroBit(x) = if IsZero(x) then b1 else b0 /** FUNCTION:shared/functions/common/LSL */ @@ -272,7 +269,7 @@ val LSL : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) function LSL(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -282,7 +279,6 @@ function LSL(x, shift) = /** FUNCTION:shared/functions/common/LSL_C */ -val LSL_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N), atom('S)) -> (bits('N)) function LSL_C (x, shift) = { /*assert shift > 0;*/ @@ -294,11 +290,11 @@ function LSL_C (x, shift) = /** FUNCTION:shared/functions/common/LSR */ -val LSR : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) +val LSR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) function LSR(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -308,23 +304,21 @@ function LSR(x, shift) = /** FUNCTION:shared/functions/common/LSR_C */ -val LSR_C : forall 'N 'S, 'N >= 0 & 'S >=1. (bits('N), atom('S)) -> (bits('N), bit) -function LSR_C(x, shift) = -{ +function LSR_C(x, shift) = { /*assert shift > 0;*/ extended_x : bits('N + 'S) = ZeroExtend(x); - result : bits('N) = extended_x[(shift + length(x) - 1)..shift]; + result : bits('N) = extended_x[(length(x) + shift - 1)..shift]; carry_out : bit = extended_x[shift - 1]; (result, carry_out); } /** FUNCTION:integer Min(integer a, integer b) */ -val Min : (integer, integer) -> integer +val Min : forall 'M 'N.(atom('M), atom('N)) -> min('M,'N) function Min (a,b) = if a <= b then a else b -val uMin : (uinteger, uinteger) -> uinteger +val uMin : forall 'M 'N, 'M >= 0 & 'N >= 0. (atom('M), atom('N)) -> min('M,'N) function uMin (a,b) = if a <= b then a else b @@ -338,16 +332,14 @@ function NOT'(x) = ~(x) /** FUNCTION:shared/functions/common/Ones */ -val Ones : forall 'N, 'N >= 0. unit -> bits('N) -function Ones() = Replicate([1]) +function Ones(n) = Replicate(n,[b1]) /** FUNCTION:shared/functions/common/ROR */ -val ROR : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) -function ROR(x, shift) = -{ +val ROR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) +function ROR(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -357,12 +349,12 @@ function ROR(x, shift) = /** FUNCTION:shared/functions/common/ROR_C */ -val ROR_C : forall 'N 'S, 'N >= 0 & ('S >=1 | 'S <= -1). (bits('N), atom('S)) -> (bits('N)) + function ROR_C(x, shift) = { let N = (length(x)) in { - /*assert shift != 0;*/ - m : nat = mod (shift,N); + /* assert shift != 0; */ + m = mod (shift,N); result : bits('N) = (LSR(x,m) | LSL(x,N - m)); carry_out : bit = result[N - 1]; (result, carry_out); @@ -370,22 +362,20 @@ function ROR_C(x, shift) = /** FUNCTION:shared/functions/common/Replicate */ -val Replicate : forall 'N 'M, 'N >= 0 & 'M >= 0. bits('M) -> bits('N) -function Replicate (x) = { - let (N,M) : (bits('N),bits('M)) = (0,0) in { - assert((mod(N, M) == 0),None); +function Replicate (N,x) = { + let M = length(x); + assert(mod(N, M) == 0); - result : bits('N) = 0; - zeros : bits('N-'M) = (Zeros()); - foreach (i from M to N by M) result = ((result << M) | zeros:x); + result : bits('N) = Zeros(); + zeros : bits('N-'M) = Zeros(); + foreach (i from M to N by M) result = ((((result << M) : bits('N)) | ((zeros@x) : bits('N))) : bits('N)); result; -}} +} /** FUNCTION:integer SInt(bits(N) x) */ /*function forall Nat 'N, Nat 'M, Nat 'K, 'M = 'N + -1, 'K = 2**'M. [|'K * -1:'K + -1|] SInt((bits('N)) x) =*/ -val SInt : forall 'N, 'N >= 0. bits('N) -> range(-(2 ^ ('N - 1) - 1), 2 ^ ('N - 1) - 1) function SInt(x) = { signed(x) /*let N = (length((bits('N)) 0)) in { @@ -397,30 +387,35 @@ function SInt(x) = { /** FUNCTION:bits(N) SignExtend(bits(M) x, integer N) */ -function SignExtend forall 'N 'M, 'N > M & 'M >= 1. (_ : atom('N), ([h]@remainder as x) : bits('M)) -> bits('N) = +function SignExtend (N, x : bits('M)) = { + let M = length(x); /* necessary for the type system to rewrite sizeof */ + let h = x[M - 1]; (Replicate([h]) : bits(('N - 'M))) @ x +} + /** FUNCTION:integer UInt(bits(N) x) */ -function UInt forall 'N, 'N >=0 . (x : bits('N)) -> range(0, 2 ^ 'N - 1) = +function UInt (x : bits('N)) = unsigned(x) /** FUNCTION:bits(N) ZeroExtend(bits(M) x, integer N) */ -val ZeroExtend : forall 'M 'N, N >= M & 'M >= 0. (atom('N),bits('M)) -> bits('N) -function ZeroExtend (x) = (Zeros() : bits(('N - 'M))) @ x +function ZeroExtend (N, x : bits('M)) = { + let M = length(x); + (Zeros() : bits(('N - 'M))) @ x +} /** FUNCTION:shared/functions/common/Zeros */ -val Zeros : forall 'N, 'N >= 0. unit -> bits('N) -function Zeros() = 0 : bits('N) /* ARM: Zeros(N) */ +function Zeros(N) = (replicate_bits(0b0, 'N)) : bits('N) /* ARM: Zeros(N) */ /** FUNCTION:bits(N) BitReverse(bits(N) data) */ val BitReverse : forall 'N, 'N >= 0. bits('N) -> bits('N) function BitReverse(data) = { let N = (length(data)) in { - result : bits('N) = 0; /* ARM: uninitialized */ + result : bits('N) = Zeros(); /* ARM: uninitialized */ foreach (i from 0 to (N - 1)) result[N - i - 1] = data[i]; result; @@ -433,16 +428,16 @@ function HaveCRCExt() -> boolean = IMPLEMENTATION_DEFINED.HaveCRCExt /** FUNCTION:bits(32) Poly32Mod2(bits(N) data, bits(32) poly) */ -val Poly32Mod2 : forall 'N, 'N >= 0. (bits('N), bits(32)) -> bits(32) +val Poly32Mod2 : forall 'N, 'N >= 0. (bits('N), bits(32)) -> bits(32) effect {escape} function Poly32Mod2(data, poly) = { result : bits('N) = data; let N = (length(data)) in { - assert((N > 32 ),None); + assert(N > 32); data' : bits('N) = data; - zeros : bits('N - 32) = Zeros(); + /* zeros : bits('N - 32) = Zeros(); */ foreach (i from (N - 1) downto 32) { - if data'[i] == 1 then - data'[(i - 1)..0] = data'[(i - 1)..0] ^ (poly:zeros[(i - 33)..0]); + if data'[i] == b1 then + data'[(i - 1)..0] = data'[(i - 1)..0] ^ (poly@Zeros(i - 32)); /* making this match ASL-generated spec */ }; data'[31..0]; }} @@ -465,12 +460,12 @@ function ClearExclusiveLocal(processorid) = /** FUNCTION:shared/functions/exclusive/ExclusiveMonitorsStatus */ -val ExclusiveMonitorsStatus : unit -> bit effect pure +val ExclusiveMonitorsStatus : unit -> bit effect {escape} function ExclusiveMonitorsStatus() = { info("The model does not implement the exclusive monitors explicitly."); not_implemented("ExclusiveMonitorsStatus should not be called"); - 0; + /* b0; */ } /** FUNCTION:shared/functions/exclusive/IsExclusiveGlobal */ @@ -506,19 +501,19 @@ function MarkExclusiveLocal(paddress, processorid, size) = { /** FUNCTION:shared/functions/exclusive/ProcessorID */ /* FIXME: return the real number? */ -function integer ProcessorID() = {0} +function ProcessorID() -> int = 0 /** FUNCTION:(bits(N), bits(4)) AddWithCarry(bits(N) x, bits(N) y, bit carry_in) */ -val AddWithCarry : forall 'N, 'N >= 0. (bits('N), bits('N), bit) -> (bits('N), bits(4)) +val AddWithCarry : forall 'N, 'N > 0. (bits('N), bits('N), bit) -> (bits('N), bits(4)) effect {escape} function AddWithCarry (x, y, carry_in) = { unsigned_sum : uinteger = UInt(x) + UInt(y) + UInt([carry_in]); signed_sum : integer = SInt(x) + SInt(y) + UInt([carry_in]); - result : bits('N) = unsigned_sum; /* same value as signed_sum<N-1:0> */ + result : bits('N) = __GetSlice_int('N, unsigned_sum, 0); /* same value as signed_sum<N-1:0> */ n : bit = result[(length(result)) - 1]; - z : bit = if IsZero(result) then 1 else 0; - c : bit = if UInt(result) == unsigned_sum then 0 else 1; - v : bit = if SInt(result) == signed_sum then 0 else 1; + z : bit = if IsZero(result) then b1 else b0; + c : bit = if UInt(result) == unsigned_sum then b1 else b0; + v : bit = if SInt(result) == signed_sum then b1 else b0; (result,[n,z,c,v]) /* (result,[n]:[z]:[c]:[v]) */ } @@ -526,26 +521,30 @@ function AddWithCarry (x, y, carry_in) = { /** TYPE:shared/functions/memory/AddressDescriptor */ /** FUNCTION:boolean BigEndian() */ -val BigEndian : unit -> boolean effect {rreg} +val BigEndian : unit -> boolean effect {rreg,escape} function BigEndian() = { - bigend : boolean = 0; /* ARM: uninitialized */ + /* bigend : boolean = b0; /\* ARM: uninitialized *\/ */ if UsingAArch32() then - bigend = (PSTATE_E != 0) - else if PSTATE_EL == EL0 then - bigend = (SCTLR_EL1.E0E != 0) + /* bigend = */(PSTATE_E != 0b0) + else if PSTATE_EL() == EL0 then + /* bigend = */(SCTLR_EL1.E0E() != 0b0) else - bigend = ((SCTLR'()).EE != 0); - bigend; + /* bigend = */((SCTLR'()).EE() != 0b0); + /* bigend; */ } /** FUNCTION:shared/functions/memory/BigEndianReverse */ val BigEndianReverse : forall 'W, 'W in {8,16,32,64,128}. bits('W) -> bits('W) effect pure -function rec BigEndianReverse (value) = -{ - width : uinteger= length(value); - half : uinteger = quot(width,2); - if width == 8 then /*return*/ value - else /*return*/ BigEndianReverse(value[(half - 1)..0]) @ BigEndianReverse(value[(width - 1)..half]); +function BigEndianReverse (value) = { + let 'half = 'W / 2; + width : atom('W) = length(value); + /* half : uinteger = width / 2; */ + if width == 8 then value + else { + let a = BigEndianReverse(value[('half - 1)..0]); + let b = BigEndianReverse(value[(width - 1)..half]); + a @ b; + } } /** FUNCTION:shared/functions/memory/DataMemoryBarrier */ @@ -554,7 +553,7 @@ function rec BigEndianReverse (value) = /* external */ val DataMemoryBarrier_Writes : unit -> unit effect {barr} /* external */ val DataMemoryBarrier_All : unit -> unit effect {barr} -val DataMemoryBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr} +val DataMemoryBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr, escape} function DataMemoryBarrier(domain, types) = { if domain != MBReqDomain_FullSystem & domain != MBReqDomain_InnerShareable then @@ -573,7 +572,7 @@ function DataMemoryBarrier(domain, types) = /* external */ val DataSynchronizationBarrier_Writes : unit -> unit effect {barr} /* external */ val DataSynchronizationBarrier_All : unit -> unit effect {barr} -val DataSynchronizationBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr} +val DataSynchronizationBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr,escape} function DataSynchronizationBarrier(domain, types) = { if domain != MBReqDomain_FullSystem then @@ -619,53 +618,54 @@ struct read_buffer_type = { size : uinteger, } -let empty_read_buffer = -{ size = 0; - /* arbitrary values: */ - acctype = AccType_NORMAL; - exclusive = false; - address = 0; -} +let empty_read_buffer : read_buffer_type = + struct { + size = 0, + /* arbitrary values: */ + acctype = AccType_NORMAL, + exclusive = false, + address = Zeros() + } -val _rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, AddressDescriptor, atom('N), AccType, bool) -> read_buffer_type effect pure +val _rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, AddressDescriptor, atom('N), AccType, bool) -> read_buffer_type effect {escape} function _rMem(read_buffer, desc, size, acctype, exclusive) = { - if read_buffer.size == 0 then { - { acctype = acctype; - exclusive = exclusive; - address = (desc.paddress).physicaladdress; - size = size; + if read_buffer.size == 0 then + struct { acctype = acctype, + exclusive = exclusive, + address = (desc.paddress).physicaladdress, + size = size } - } else { - assert((read_buffer.acctype == acctype), None); - assert((read_buffer.exclusive == exclusive), None); - assert(((read_buffer.address + read_buffer.size) : bits(64) == (desc.paddress).physicaladdress), None); + assert(read_buffer.acctype == acctype); + assert(read_buffer.exclusive == exclusive); + assert((read_buffer.address + read_buffer.size) : bits(64) == (desc.paddress).physicaladdress); {read_buffer with size = read_buffer.size + size} } } -val flush_read_buffer : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, atom('N)) -> bits('N*8) +val flush_read_buffer : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, atom('N)) -> bits('N*8) effect {rmem, rreg, escape} function flush_read_buffer(read_buffer, size) = { - assert((read_buffer.size == size), None); + assert(read_buffer.size == size); - value : bits('N*8) = 0; + value : bits('N*8) = Zeros(); if read_buffer.exclusive then { match read_buffer.acctype { - AccType_ATOMIC => value = rMem_ATOMIC(read_buffer.address, read_buffer.size), - AccType_ORDERED => value = rMem_ATOMIC_ORDERED(read_buffer.address, read_buffer.size), + AccType_ATOMIC => value = rMem_ATOMIC(read_buffer.address, size), + AccType_ORDERED => value = rMem_ATOMIC_ORDERED(read_buffer.address, size), _ => { not_implemented("unimplemented memory access"); } } } else { match read_buffer.acctype { - AccType_NORMAL => value = rMem_NORMAL (read_buffer.address, read_buffer.size), - AccType_STREAM => value = rMem_STREAM (read_buffer.address, read_buffer.size), - AccType_UNPRIV => value = rMem_NORMAL (read_buffer.address, read_buffer.size), - AccType_ORDERED => value = rMem_ORDERED(read_buffer.address, read_buffer.size), - AccType_ATOMIC => assert(false,Some("Reached AccType_ATOMIC: unreachable when address values are known")) - /*/*old code*/ value = rMem_NORMAL (read_buffer.address, read_buffer.size) /* the second read of 64-bit LDXP */*/ + AccType_NORMAL => value = rMem_NORMAL (read_buffer.address, size), + AccType_STREAM => value = rMem_STREAM (read_buffer.address, size), + AccType_UNPRIV => value = rMem_NORMAL (read_buffer.address, size), + AccType_ORDERED => value = rMem_ORDERED(read_buffer.address, size), + AccType_ATOMIC => error("Reached AccType_ATOMIC: unreachable when address values are known"), + /* (*old code*) value = rMem_NORMAL (read_buffer.address, size) (* the second read of 64-bit LDXP *)*/ + _ => exit() } }; @@ -685,7 +685,7 @@ function flush_read_buffer(read_buffer, size) = /* store-exclusive+release */ /* external */ val wMem_Addr_ATOMIC_ORDERED : forall 'N, 'N in {1,2,4,8,16}. (bits(64) /*address*/, atom('N) /*size*/) -> unit effect {eamem} -val wMem_Addr : forall 'N, 'N in {1,2,4,8,16}. (bits(64), atom('N), AccType, boolean) -> unit effect {eamem} +val wMem_Addr : forall 'N, 'N in {1,2,4,8,16}. (bits(64), atom('N), AccType, boolean) -> unit effect {eamem, escape} function wMem_Addr(address, size, acctype, excl) = { match (excl, acctype) { @@ -711,98 +711,102 @@ struct write_buffer_type = { exclusive : bool, address : bits(64), value : bits(128), - size : uinteger, + /* size : uinteger, */ + size : range(0,16), } -let empty_write_buffer = { - size = 0; +let empty_write_buffer : write_buffer_type = struct { + size = 0, /* arbitrary values: */ - acctype = AccType_NORMAL; - exclusive = false; - address = 0; - value = 0; + acctype = AccType_NORMAL, + exclusive = false, + address = Zeros(), + value = Zeros() } -val _wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, AddressDescriptor, atom('N), AccType, bool, bits('N*8)) -> write_buffer_type +val _wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, AddressDescriptor, atom('N), AccType, bool, bits('N*8)) -> write_buffer_type effect {escape} function _wMem(write_buffer, desc, size, acctype, exclusive, value) = { - if write_buffer.size == 0 then { - { acctype = acctype; - exclusive = exclusive; - address = (desc.paddress).physicaladdress; - value : bits(128) = ZeroExtend(value); - size = size; + let s = write_buffer.size; + if s == 0 then { + struct { acctype = acctype, + exclusive = exclusive, + address = (desc.paddress).physicaladdress, + value = ZeroExtend(value), + size = size } } else { - assert((write_buffer.acctype == acctype),None); - assert((write_buffer.exclusive == exclusive), None); - assert(((write_buffer.address + write_buffer.size) : bits(64) == (desc.paddress).physicaladdress),None); - + assert(write_buffer.acctype == acctype); + assert(write_buffer.exclusive == exclusive); + assert((write_buffer.address + s) : bits(64) == (desc.paddress).physicaladdress); + assert((s * 8) + ('N * 8) <= 128); { write_buffer with - value = (ZeroExtend(value @ (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0])), - size = write_buffer.size + size + value = (ZeroExtend(value @ (write_buffer.value)[((s * 8) - 1) .. 0])), + size = s + size } } } -val flush_write_buffer : write_buffer_type -> unit effect {wmv} +val flush_write_buffer : write_buffer_type -> unit effect {escape, wmv} function flush_write_buffer(write_buffer) = { - assert((write_buffer.exclusive == false), None); - + assert(write_buffer.exclusive == false); + let s : range(0,16) = write_buffer.size; + assert (s == 1 | s == 2 | s == 4 | s == 8 | s == 16); match write_buffer.acctype { - AccType_NORMAL => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_STREAM => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_UNPRIV => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_ORDERED => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), + AccType_NORMAL => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_STREAM => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_UNPRIV => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_ORDERED => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), _ => not_implemented("unrecognised memory access") }; } -val flush_write_buffer_exclusive : write_buffer_type -> bool effect {wmv} +val flush_write_buffer_exclusive : write_buffer_type -> bool effect {escape, wmv} function flush_write_buffer_exclusive(write_buffer) = { - assert((write_buffer.exclusive), None); - + assert(write_buffer.exclusive); + let s = write_buffer.size; + assert (s == 1 | s == 2 | s == 4 | s == 8 | s == 16); match write_buffer.acctype { - AccType_ATOMIC => wMem_Val_ATOMIC(write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_ORDERED => wMem_Val_ATOMIC(write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), + AccType_ATOMIC => wMem_Val_ATOMIC(s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_ORDERED => wMem_Val_ATOMIC(s, (write_buffer.value)[((s * 8) - 1) .. 0]), _ => { not_implemented("unrecognised memory access"); false; } }; } /** FUNCTION:BranchTo(bits(N) target, BranchType branch_type) */ -val BranchTo : forall 'N, 'N in {32,64}. BranchType -> unit effect {rreg,wreg} +val BranchTo : forall 'N, 'N in {32,64}. (bits('N), BranchType) -> unit effect {escape, rreg, wreg} function BranchTo(target, branch_type) = { target' : bits('N) = target; /* Sail does not let you change parameter vector */ Hint_Branch(branch_type); if length(target) == 32 then { - assert( UsingAArch32(), None ); + assert( UsingAArch32()); _PC = ZeroExtend(target); } else { - assert(( length(target) == 64 & ~(UsingAArch32()) ), None); + assert( length(target) == 64 & ~(UsingAArch32()) ); /* Remove the tag bits from tagged target */ - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then { - if target'[55] == 1 & TCR_EL1.TBI1 == 1 then + if target'[55] == b1 & TCR_EL1.TBI1() == 0b1 then target'[63..56] = 0b11111111; - if target'[55] == 0 & TCR_EL1.TBI0 == 1 then + if target'[55] == b0 & TCR_EL1.TBI0() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL1 then { - if target'[55] == 1 & TCR_EL1.TBI1 == 1 then + if target'[55] == b1 & TCR_EL1.TBI1() == 0b1 then target'[63..56] = 0b11111111; - if target'[55] == 0 & TCR_EL1.TBI0 == 1 then + if target'[55] == b0 & TCR_EL1.TBI0() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL2 then { - if TCR_EL2.TBI == 1 then + if TCR_EL2.TBI() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL3 then { - if TCR_EL3.TBI == 1 then + if TCR_EL3.TBI() == 0b1 then target'[63..56] = 0b00000000; } - else assert(false,None) + else exit() }; _PC = target'; }; @@ -817,22 +821,21 @@ function Hint_Branch(hint) = { } /** FUNCTION:shared/functions/registers/ResetExternalDebugRegisters */ -val ResetExternalDebugRegisters : boolean -> unit -function unit ResetExternalDebugRegisters (b) = +val ResetExternalDebugRegisters : boolean -> unit effect {escape} +function ResetExternalDebugRegisters (b) = not_implemented_extern("ResetExternalDebugRegisters") /** FUNCTION:shared/functions/registers/ThisInstrAddr */ -val ThisInstrAddr : forall 'N, 'N >= 0. implicit('N) -> bits('N) effect {rreg} -function ThisInstrAddr() = { - let N = (length(0 : bits('N))) in { - assert((N == 64 | (N == 32 & UsingAArch32())), None); +val ThisInstrAddr : forall 'N, 'N >= 0. implicit('N) -> bits('N) effect {escape,rreg} +function ThisInstrAddr(N) = { + assert(N == 64 | (N == 32 & UsingAArch32())); /*return*/ mask(rPC()); -}} +} /** FUNCTION:// SPSR[] - non-assignment form */ function rSPSR() -> bits(32) = { - result : bits(32) = 0; /* ARM: uninitialized */ + /* result : bits(32) = Zeros(); /\* ARM: uninitialized *\/ */ if UsingAArch32() then { not_implemented("rSPSR UsingAArch32"); /* ARM: @@ -847,19 +850,18 @@ function rSPSR() -> bits(32) = { otherwise Unreachable(); */ } else { - let pstate_el = PSTATE_EL in { - if pstate_el == EL1 then result = SPSR_EL1 - else if pstate_el == EL2 then result = SPSR_EL2 - else if pstate_el == EL3 then result = SPSR_EL3 - else Unreachable() + let pstate_el = PSTATE_EL() in { + if pstate_el == EL1 then /* result = */SPSR_EL1.bits() + else if pstate_el == EL2 then /* result = */SPSR_EL2.bits() + else if pstate_el == EL3 then /* result = */SPSR_EL3.bits() + else {Unreachable(); Zeros()} }; }; - - result; + /* result; */ } /** FUNCTION:shared/functions/system/ClearEventRegister */ -function unit ClearEventRegister () = not_implemented_extern("ClearEventRegister") +function ClearEventRegister () -> unit = not_implemented_extern("ClearEventRegister") /** FUNCTION:boolean ConditionHolds(bits(4) cond) */ val ConditionHolds : bits(4) -> boolean effect {rreg} @@ -867,19 +869,19 @@ function ConditionHolds(_cond) = { result : boolean = false; /* ARM: uninitialized */ /* Evaluate base condition */ match _cond[3..1] { - 0b000 => result = (PSTATE_Z == 1), /* EQ or NE */ - 0b001 => result = (PSTATE_C == 1), /* CS or CC */ - 0b010 => result = (PSTATE_N == 1), /* MI or PL */ - 0b011 => result = (PSTATE_V == 1), /* VS or VC */ - 0b100 => result = (PSTATE_C == 1 & PSTATE_Z == 0), /* HI or LS */ - 0b101 => result = (PSTATE_N == PSTATE_V), /* GE or LT */ - 0b110 => result = (PSTATE_N == PSTATE_V & PSTATE_Z == 0), /* GT or LE */ + 0b000 => result = (PSTATE_Z() == 0b1), /* EQ or NE */ + 0b001 => result = (PSTATE_C() == 0b1), /* CS or CC */ + 0b010 => result = (PSTATE_N() == 0b1), /* MI or PL */ + 0b011 => result = (PSTATE_V() == 0b1), /* VS or VC */ + 0b100 => result = (PSTATE_C() == 0b1 & PSTATE_Z() == 0b0), /* HI or LS */ + 0b101 => result = (PSTATE_N() == PSTATE_V()), /* GE or LT */ + 0b110 => result = (PSTATE_N() == PSTATE_V() & PSTATE_Z() == 0b0), /* GT or LE */ 0b111 => result = true /* AL */ }; /* Condition flag values in the set '111x' indicate always true */ /* Otherwise, invert condition if necessary. */ - if _cond[0] == 1 & _cond != 0b1111 then + if _cond[0] == b1 & _cond != 0b1111 then result = ~(result); result; @@ -892,12 +894,12 @@ function ELUsingAArch32(el : bits(2)) -> boolean = false /* ARM: ELStateUsingAArch32(el, IsSecureBelowEL3()) */ /* FIXME: implement */ /** FUNCTION:shared/functions/system/EventRegisterSet */ -function unit EventRegisterSet () = not_implemented_extern("EventRegisterSet") +function EventRegisterSet () -> unit = not_implemented_extern("EventRegisterSet") /** FUNCTION:shared/functions/system/EventRegistered */ -function boolean EventRegistered () = not_implemented_extern("EventRegistered") +function EventRegistered () -> boolean = not_implemented_extern("EventRegistered") /** FUNCTION:shared/functions/system/HaveAArch32EL */ -function boolean HaveAArch32EL(el : bits(2)) = { +function HaveAArch32EL (el : bits(2)) -> boolean = { /* Return TRUE if Exception level 'el' supports AArch32 */ if ~(HaveEL(el)) then false @@ -914,48 +916,46 @@ function boolean HaveAArch32EL(el : bits(2)) = { /** FUNCTION:boolean HaveAnyAArch32() */ -function boolean HaveAnyAArch32() = +function HaveAnyAArch32() -> boolean = { IMPLEMENTATION_DEFINED.HaveAnyAArch32 } /** FUNCTION:boolean HaveEL(bits(2) el) */ -function boolean HaveEL(el : bits(2)) = { +function HaveEL(el : bits(2)) -> boolean = { if el == EL1 | el == EL0 then true /*EL1 and EL0 must exist*/ else { if el == EL2 then IMPLEMENTATION_DEFINED.HaveEL2 else if el == EL3 then IMPLEMENTATION_DEFINED.HaveEL3 - else {assert (false,None); false}; + else exit(); }; } /** FUNCTION:boolean HighestELUsingAArch32() */ -function boolean HighestELUsingAArch32() = -{ +function HighestELUsingAArch32() -> boolean = { if ~(HaveAnyAArch32()) then false else IMPLEMENTATION_DEFINED.HighestELUsingAArch32; /* e.g. CFG32SIGNAL == HIGH */ } /** FUNCTION:shared/functions/system/Hint_Yield */ -function unit Hint_Yield() = () +function Hint_Yield() -> unit = () /** FUNCTION:shared/functions/system/InstructionSynchronizationBarrier */ /* external */ val InstructionSynchronizationBarrier : unit -> unit effect {barr} /** FUNCTION:shared/functions/system/InterruptPending */ -function boolean InterruptPending () = not_implemented_extern("InterruptPending") +function InterruptPending () -> boolean = not_implemented_extern("InterruptPending") /** FUNCTION:boolean IsSecure() */ -function boolean IsSecure() = -{ +function IsSecure() -> boolean = { /*Return TRUE if current Exception level is in Secure state.*/ - if HaveEL(EL3) & ~(UsingAArch32()) & PSTATE_EL == EL3 then + if HaveEL(EL3) & ~(UsingAArch32()) & PSTATE_EL() == EL3 then true else if HaveEL(EL3) & UsingAArch32() & PSTATE_M == M32_Monitor then true @@ -965,9 +965,9 @@ function boolean IsSecure() = /** FUNCTION:boolean IsSecureBelowEL3() */ -function boolean IsSecureBelowEL3() = { +function IsSecureBelowEL3() -> boolean = { if HaveEL(EL3) then - ((SCR_GEN()).NS == 0) + SCR_GEN().NS() == 0b0 else if HaveEL(EL2) then false else @@ -978,9 +978,9 @@ function boolean IsSecureBelowEL3() = { /** ENUMERATE:shared/functions/system/Mode_Bits */ /** FUNCTION:shared/functions/system/SCR_GEN */ -function SCRType SCR_GEN() = { +function SCR_GEN() -> SCRType = { /*AArch32 secure & AArch64 EL3 registers are not architecturally mapped*/ - assert (HaveEL(EL3),None); + assert (HaveEL(EL3)); if HighestELUsingAArch32() then SCR @@ -990,7 +990,7 @@ function SCRType SCR_GEN() = { /** FUNCTION:shared/functions/system/SendEvent */ -function unit SendEvent() = +function SendEvent() -> unit = { () /* TODO: ??? */ @@ -998,14 +998,21 @@ function unit SendEvent() = /** FUNCTION:shared/functions/system/Unreachable */ -function unit Unreachable() = -{ - assert (false,Some("Unreachable reached")); -} +/* CP: adding two variants, one that takes a string argument, the other one doesn't */ +val Unreachable_no_message : forall ('a : Type) . unit -> 'a effect{escape} +function Unreachable_no_message() = + error("Unreachable reached") + +val Unreachable_message : forall ('a : Type) . string -> 'a effect{escape} +function Unreachable_message(message) = + error(message) + +overload Unreachable = {Unreachable_no_message, Unreachable_message} + /** FUNCTION:shared/functions/system/UsingAArch32 */ -function boolean UsingAArch32() = +function UsingAArch32() -> boolean = { false; /* ARM: uncomment when implementing aarch32 @@ -1016,15 +1023,14 @@ function boolean UsingAArch32() = } /** FUNCTION:shared/functions/system/WaitForEvent */ -function unit WaitForEvent () = not_implemented_extern("WaitForEvent") +function WaitForEvent () -> unit = not_implemented_extern("WaitForEvent") /** FUNCTION:shared/functions/system/WaitForInterrupt */ -function unit WaitForInterrupt () = not_implemented_extern("WaitForInterrupt") +function WaitForInterrupt () -> unit = not_implemented_extern("WaitForInterrupt") /** FUNCTION:shared/translation/translation/PAMax */ -function uinteger PAMax() = -{ - pa_size : uinteger = 0; - match ID_AA64MMFR0_EL1.PARange { +function PAMax() -> range(32,48) = { + pa_size : range(32,48) = 32; + match ID_AA64MMFR0_EL1.PARange() { 0b0000 => pa_size = 32, 0b0001 => pa_size = 36, 0b0010 => pa_size = 40, @@ -1034,15 +1040,15 @@ function uinteger PAMax() = _ => Unreachable() }; - /*return*/ pa_size; + return pa_size; } /** FUNCTION:shared/translation/translation/S1TranslationRegime */ -val S1TranslationRegime : unit -> bits(2) effect {rreg} +val S1TranslationRegime : unit -> bits(2) effect {escape,rreg} function S1TranslationRegime () = { - if PSTATE_EL != EL0 then - PSTATE_EL + if PSTATE_EL() != EL0 then + PSTATE_EL() else if IsSecure() & HaveEL(EL3) & ELUsingAArch32(EL3) then EL3 else diff --git a/aarch64_small/armV8_embed.lem b/aarch64_small/armV8_embed.lem deleted file mode 100644 index b8cd648f..00000000 --- a/aarch64_small/armV8_embed.lem +++ /dev/null @@ -1,5561 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Prompt -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed -let lsl' (n, m) = n * (pow (2:ii) m) - -let not_implemented message = exit message - -let not_implemented_extern message = exit message - -let info message = () - -let UNKNOWN = (0:ii) - -let M32_User = Vector [B1;B0;B0;B0;B0] 4 false - -let M32_FIQ = Vector [B1;B0;B0;B0;B1] 4 false - -let M32_IRQ = Vector [B1;B0;B0;B1;B0] 4 false - -let M32_Svc = Vector [B1;B0;B0;B1;B1] 4 false - -let M32_Monitor = Vector [B1;B0;B1;B1;B0] 4 false - -let M32_Abort = Vector [B1;B0;B1;B1;B1] 4 false - -let M32_Hyp = Vector [B1;B1;B0;B1;B0] 4 false - -let M32_Undef = Vector [B1;B1;B0;B1;B1] 4 false - -let M32_System = Vector [B1;B1;B1;B1;B1] 4 false - -let EL3 = Vector [B1;B1] 1 false - -let EL2 = Vector [B1;B0] 1 false - -let EL1 = Vector [B0;B1] 1 false - -let EL0 = Vector [B0;B0] 1 false - -let DebugHalt_Breakpoint = Vector [B0;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_EDBGRQ = Vector [B0;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_Step_Normal = Vector [B0;B1;B1;B0;B1;B1] 5 false - -let DebugHalt_Step_Exclusive = Vector [B0;B1;B1;B1;B1;B1] 5 false - -let DebugHalt_OSUnlockCatch = Vector [B1;B0;B0;B0;B1;B1] 5 false - -let DebugHalt_ResetCatch = Vector [B1;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_Watchpoint = Vector [B1;B0;B1;B0;B1;B1] 5 false - -let DebugHalt_HaltInstruction = Vector [B1;B0;B1;B1;B1;B1] 5 false - -let DebugHalt_SoftwareAccess = Vector [B1;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_ExceptionCatch = Vector [B1;B1;B0;B1;B1;B1] 5 false - -let DebugHalt_Step_NoSyndrome = Vector [B1;B1;B1;B0;B1;B1] 5 false - -let HighestSetBit x = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let result = (0:ii) in - let break = B0 in - let (break, result) = - (foreach_dec (N - (1:ii),(0:ii),(1:ii)) (break,result) - (fun i (break,result) -> - let (result, break) = - if bitU_to_bool - ((~break) &. - (eq - (match (access (set_vector_start_to_length x) i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii)))) - then - let result = i in - let break = B1 in - (result,break) - else (result,break) in - (break,result))) in - if bitU_to_bool break - then Just result - else Nothing - -let IsZero x = eq_vec_range (set_vector_start_to_length x, (0:ii)) - -let NOT x = - set_vector_start_to_length (bitwise_not (reset_vector_start (set_vector_start_to_length x))) - -let NOT' x = ~x - -let SInt x = signed (reset_vector_start (set_vector_start_to_length x)) - -let UInt x = unsigned (reset_vector_start (set_vector_start_to_length x)) - -let Zeros N' = set_vector_start_to_length (to_vec_dec (N',(0:ii))) - -let BitReverse data = - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let result = set_vector_start_to_length (to_vec_dec (length data,(0:ii))) in - (foreach_inc ((0:ii),N - (1:ii),(1:ii)) result - (fun i result -> - update_pos result ((N - i) - (1:ii)) (access (set_vector_start_to_length data) i))) - -let ELUsingAArch32 el = B0 - -let Hint_Yield () = () - -let SendEvent () = () - -let Unreachable () = assert' B0 (Just "Unreachable reached") - -let UsingAArch32 () = B0 - -let _Rs = - Vector ["R30";"R29";"R28";"R27";"R26";"R25";"R24";"R23";"R22";"R21";"R20";"R19";"R18";"R17";"R16";"R15";"R14";"R13";"R12";"R11";"R10"; - "R9";"R8";"R7";"R6";"R5";"R4";"R3";"R2";"R1";"R0"] 30 false - -let IMPLEMENTATION_DEFINED = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt = B1; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL = B0; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL2 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL3 = B0; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 = B0; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 = B0 |> - -let AArch64_ResetControlRegisters cold_reset = () - -let DCPSInstruction target_el = not_implemented "DCPSInstruction" - -let DRPSInstruction () = not_implemented "DRPSInstruction" - -let Halt reason = not_implemented "Halt" - -let Align' (x, y) = y * (quot x y) - -let CountLeadingZeroBits x = - match (HighestSetBit (reset_vector_start (set_vector_start_to_length x))) with - | Nothing -> length (reset_vector_start (set_vector_start_to_length x)) - | Just (n) -> ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) - n - end - -let IsZeroBit x = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length x))) - then B1 - else B0 - -let LSL_C (x, shift) = - let extended_x = - set_vector_start_to_length - ((set_vector_start_to_length x) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift)))) in - let result = - set_vector_start_to_length - (set_vector_start_to_length - (mask (length x,reset_vector_start (set_vector_start_to_length extended_x)))) in - let carry_out = - access (set_vector_start_to_length extended_x) (length - (reset_vector_start (set_vector_start_to_length - x))) in - (set_vector_start_to_length result,carry_out) - -let Min (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let uMin (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let Replicate (N', x) = - let (N, M) = - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))),length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec - (length - x, - (0:ii)))))) in - let _ = assert' (eq_range (modulo N M, (0:ii))) (Nothing) in - let result = set_vector_start_to_length (to_vec_dec (N',(0:ii))) in - let zeros = set_vector_start_to_length (Zeros ((length result) - (length x))) in - (foreach_inc (M,N,M) result - (fun i result -> - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (bitwise_leftshift (set_vector_start_to_length result, M)), - set_vector_start_to_length - ((set_vector_start_to_length zeros) ^^ (set_vector_start_to_length x)))))) - -let ZeroExtend (N', x) = - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length (Zeros (N' + ((length x) * ((0-1):ii)))))) ^^ - (set_vector_start_to_length x)) - -let Poly32Mod2 (data, poly) = - let result = set_vector_start_to_length data in - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let _ = assert' (gt (N, (32:ii))) (Nothing) in - let data' = set_vector_start_to_length data in - let zeros = set_vector_start_to_length (Zeros ((length data) - (32:ii))) in - let data' = - (foreach_dec (N - (1:ii),(32:ii),(1:ii)) data' - (fun i data' -> - if bitU_to_bool - (eq - (match (access (set_vector_start_to_length data') i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) - then - update - data' (i - (1:ii)) (0:ii) - (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length data') (i - (1:ii)) (0:ii)), - set_vector_start_to_length - ((set_vector_start_to_length poly) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length zeros) (i - (33:ii)) (0:ii))))))) - else data')) in - slice (set_vector_start_to_length data') (31:ii) (0:ii) - -let ClearExclusiveLocal processorid = - info "The model does not implement the exclusive monitors explicitly." - -let ProcessorID () = (0:ii) - -let rec BigEndianReverse value = - let width = length (reset_vector_start (set_vector_start_to_length value)) in - let half = quot width (2:ii) in - if bitU_to_bool (eq_range (width, (8:ii))) - then set_vector_start_to_length value - else - set_vector_start_to_length - ((set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (half - (1:ii)) (0:ii)))))) ^^ - (set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (width - (1:ii)) half)))))) - -let ClearEventRegister () = not_implemented_extern "ClearEventRegister" - -let EventRegisterSet () = not_implemented_extern "EventRegisterSet" - -let EventRegistered () = not_implemented_extern "EventRegistered" - -let InterruptPending () = not_implemented_extern "InterruptPending" - -let WaitForEvent () = not_implemented_extern "WaitForEvent" - -let WaitForInterrupt () = not_implemented_extern "WaitForInterrupt" - -let AArch64_SPAlignmentFault () = not_implemented "AArch64_SPAlignmentFault" - -let AArch64_SoftwareBreakpoint immediate = not_implemented "AArch64_SoftwareBreakpoint" - -let AArch64_CallHypervisor immediate = not_implemented "AArch64_CallHypervisor" - -let AArch64_CallSecureMonitor immediate = not_implemented "AArch64_CallSecureMonitor" - -let AArch64_CallSupervisor immediate = not_implemented "AArch64_CallSupervisor" - -let AArch64_SystemRegisterTrap (target_el, op0, op2, op1, crn, rt, crm, dir) = - not_implemented "AArch64_SystemRegisterTrap" - -let AArch64_UndefinedFault () = not_implemented "AArch64_UndefinedFault" - -let rPC () = read_reg _PC - -let AArch64_ExceptionReturn (new_pc, spsr) = not_implemented "AArch64_ExceptionReturn" - -let UInt_reg x = unsigned x - -let signalDBGEN () = not_implemented_extern "signalDBGEN" - -let signelNIDEN () = not_implemented_extern "signalNIDEN" - -let signalSPIDEN () = not_implemented_extern "signalSPIDEN" - -let signalDPNIDEN () = not_implemented_extern "signalSPNIDEN" - -let Halted () = - read_reg_field EDSCR "STATUS" >>= fun w__0 -> - read_reg_field EDSCR "STATUS" >>= fun w__1 -> - return (~((eq_vec - (set_vector_start_to_length w__0, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B0;B1] 5 false))) |. - (eq_vec - (set_vector_start_to_length w__1, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B1;B0] 5 false))))) - -let HaveCRCExt () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveCRCExt - -let ExclusiveMonitorsStatus () = - let _ = info "The model does not implement the exclusive monitors explicitly." in - not_implemented "ExclusiveMonitorsStatus should not be called" >> - return B0 - -let Hint_Branch hint = - info "This hint can be used for hardware optimization that has no effect on the model." - -let ResetExternalDebugRegisters b = not_implemented_extern "ResetExternalDebugRegisters" - -let HaveAnyAArch32 () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 - -let AArch64_WFxTrap (target_el, is_wfe) = not_implemented "AArch64_WFxTrap" - -let AArch64_CheckUnallocatedSystemAccess (op0, op1, crn, crm, op2, read) = - match (op0,op1,crn,crm,op2,read) with - | (Vector [B0;B0] _ _, Vector [B0;B0;B0] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B0;B1] _ _, _) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - return (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL1)) - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B0] _ _, _) -> - return B0 - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B1] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B0] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B1] _ _, _) -> - return B0 - end - -let SysOp_R (op0, op1, crn, crm, op2) = - not_implemented "SysOp_R" >> - return (to_vec_dec ((64:ii),(0:ii))) - -let SysOp_W (op0, op1, crn, crm, op2, _val) = not_implemented "SysOp_W" - -let TxNestingLevelfp = RFull "TxNestingLevel" - -let TXIDR_EL0_DEPTHfp = RField ("TXIDR_EL0","DEPTH") - -let PSTATE_Nfp = RField ("NZCV","N") - -let PSTATE_Zfp = RField ("NZCV","Z") - -let PSTATE_Cfp = RField ("NZCV","C") - -let PSTATE_Vfp = RField ("NZCV","V") - -let PSTATE_Dfp = RField ("DAIF","D") - -let PSTATE_Afp = RField ("DAIF","A") - -let PSTATE_Ifp = RField ("DAIF","I") - -let PSTATE_Ffp = RField ("DAIF","F") - -let PSTATE_ELfp = RFull "CurrentEL" - -let PSTATE_SPfp = RField ("SPSel","SP") - -let _PCfp = RFull "_PC" - -let Hint_Prefetch (addr, hint, target, stream) = () - -let AArch64_IsExclusiveVA (address, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let AArch64_MarkExclusiveVA (address, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let wPSTATE_NZCV ((), Vector [n;z;c;v] _ _) = - write_reg_bitfield NZCV "N" n >> - write_reg_bitfield NZCV "Z" z >> - write_reg_bitfield NZCV "C" c >> - write_reg_bitfield NZCV "V" v - -let wPSTATE_DAIF ((), Vector [d;a;i;f] _ _) = - write_reg_bitfield DAIF "D" d >> - write_reg_bitfield DAIF "A" a >> - write_reg_bitfield DAIF "I" i >> - write_reg_bitfield DAIF "F" f - -let Int (x, unsigned) = - if bitU_to_bool unsigned - then UInt (reset_vector_start (set_vector_start_to_length x)) - else SInt (reset_vector_start (set_vector_start_to_length x)) - -let ClearExclusiveByAddress (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let IsExclusiveGlobal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let IsExclusiveLocal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let MarkExclusiveGlobal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let MarkExclusiveLocal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let PAMax () = - let pa_size = (0:ii) in - read_reg_field ID_AA64MMFR0_EL1 "PARange" >>= fun w__0 -> - let pa_size = - match w__0 with - | Vector [B0;B0;B0;B0] _ _ -> (32:ii) - | Vector [B0;B0;B0;B1] _ _ -> (36:ii) - | Vector [B0;B0;B1;B0] _ _ -> (40:ii) - | Vector [B0;B0;B1;B1] _ _ -> (42:ii) - | Vector [B0;B1;B0;B0] _ _ -> (44:ii) - | Vector [B0;B1;B0;B1] _ _ -> (48:ii) - | _ -> pa_size - end in - return pa_size - -let AddWithCarry (x, y, carry_in) = - let unsigned_sum = - ((UInt (reset_vector_start (set_vector_start_to_length x))) + - (UInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let signed_sum = - ((SInt (reset_vector_start (set_vector_start_to_length x))) + - (SInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let result = set_vector_start_to_length (to_vec_dec (length x,unsigned_sum)) in - let n = - access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii)) in - let z = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length result))) - then B1 - else B0 in - let c = - if bitU_to_bool - (eq_range (UInt (reset_vector_start (set_vector_start_to_length result)), unsigned_sum)) - then B0 - else B1 in - let v = - if bitU_to_bool - (eq_range (SInt (reset_vector_start (set_vector_start_to_length result)), signed_sum)) - then B0 - else B1 in - (set_vector_start_to_length result,set_vector_start 3 - ((set_vector_start_to_length (Vector [n] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [z] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [c] 0 false)) ^^ - (set_vector_start_to_length (Vector [v] 0 false)))))))) - -let ConditionHolds _cond = - let result = B0 in - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> - read_reg_bitfield NZCV "Z" >>= fun w__0 -> - let result = eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B0;B1] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__1 -> - let result = eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__2 -> - let result = eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B1] _ _ -> - read_reg_bitfield NZCV "V" >>= fun w__3 -> - let result = eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B1;B0;B0] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__4 -> - read_reg_bitfield NZCV "Z" >>= fun w__5 -> - let result = - (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B0;B1] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__6 -> - read_reg_bitfield NZCV "V" >>= fun w__7 -> - let result = eq_bit (w__6, w__7) in - return result - | Vector [B1;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__8 -> - read_reg_bitfield NZCV "V" >>= fun w__9 -> - read_reg_bitfield NZCV "Z" >>= fun w__10 -> - let result = - (eq_bit (w__8, w__9)) &. (eq (match w__10 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B1;B1] _ _ -> return B1 - end >>= fun result -> - let result = - if bitU_to_bool - ((eq (match (access _cond (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length _cond, - set_vector_start_to_length (Vector [B1;B1;B1;B1] 3 false)))) - then ~result - else result in - return result - -let DecodeShift op = - match toNatural (unsigned (reset_vector_start op)) with - | (0:nn) -> ShiftType_LSL - | (1:nn) -> ShiftType_LSR - | (2:nn) -> ShiftType_ASR - | (3:nn) -> ShiftType_ROR - end - -let HaveEL el = - if bitU_to_bool - ((eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) |. - (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0))) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL3 - else - let _ = assert' B0 (Nothing) in - B0 - -let System_Put (op0, op1, crn, crm, op2, _val) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> write_reg NZCV (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> write_reg DAIF (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> write_reg TPIDR_EL0 (slice _val (63:ii) (0:ii)) - end - -let DataSynchronizationBarrier (domain, types) = - (if bitU_to_bool (neq (domain, MBReqDomain_FullSystem)) - then not_implemented "DataSynchronizationBarrier: not MBReqDomain_FullSystem" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataSynchronizationBarrier_Reads () - | MBReqTypes_Writes -> DataSynchronizationBarrier_Writes () - | MBReqTypes_All -> DataSynchronizationBarrier_All () - end - -let rELR el = - let r = to_vec_dec ((64:ii),(0:ii)) in - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) - then read_reg ELR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then read_reg ELR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then read_reg ELR_EL3 - else return r - -let DataMemoryBarrier (domain, types) = - (if bitU_to_bool - ((neq (domain, MBReqDomain_FullSystem)) &. (neq (domain, MBReqDomain_InnerShareable))) - then not_implemented "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataMemoryBarrier_Reads () - | MBReqTypes_Writes -> DataMemoryBarrier_Writes () - | MBReqTypes_All -> DataMemoryBarrier_All () - end - -let wMem_Addr (address, size, acctype, excl) = - match (excl,acctype) with - | (B0, AccType_NORMAL) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_STREAM) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_UNPRIV) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_ORDERED) -> wMem_Addr_ORDERED (reset_vector_start address,size) - | (B1, AccType_ATOMIC) -> wMem_Addr_ATOMIC (reset_vector_start address,size) - | (B1, AccType_ORDERED) -> wMem_Addr_ATOMIC_ORDERED (reset_vector_start address,size) - | _ -> not_implemented "unrecognised memory access" - end - -let SCTLR regime = - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL1)) - then SCTLR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL2)) - then SCTLR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL3)) - then SCTLR_EL3 - else - let _ = assert' B0 (Just "SCTLR_type unreachable") in - SCTLR_EL1 - -let DecodeRegExtend op = - match op with - | Vector [B0;B0;B0] _ _ -> ExtendType_UXTB - | Vector [B0;B0;B1] _ _ -> ExtendType_UXTH - | Vector [B0;B1;B0] _ _ -> ExtendType_UXTW - | Vector [B0;B1;B1] _ _ -> ExtendType_UXTX - | Vector [B1;B0;B0] _ _ -> ExtendType_SXTB - | Vector [B1;B0;B1] _ _ -> ExtendType_SXTH - | Vector [B1;B1;B0] _ _ -> ExtendType_SXTW - | Vector [B1;B1;B1] _ _ -> ExtendType_SXTX - end - -let rSP N' = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - read_reg SP_EL0 >>= fun w__1 -> - return (set_vector_start_to_length (mask (N',w__1))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg SP_EL0 >>= fun w__2 -> - return (set_vector_start_to_length (mask (N',w__2))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg SP_EL1 >>= fun w__3 -> - return (set_vector_start_to_length (mask (N',w__3))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg SP_EL2 >>= fun w__4 -> - return (set_vector_start_to_length (mask (N',w__4))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg SP_EL3 >>= fun w__5 -> - return (set_vector_start_to_length (mask (N',w__5))) - else - let _ = assert' B0 (Nothing) in - read_reg SP_EL3 >>= fun w__6 -> - return (set_vector_start_to_length (mask (N',w__6))) - -let rSPSR () = - let result = to_vec_dec ((32:ii),(0:ii)) in - if bitU_to_bool (UsingAArch32 ()) - then - not_implemented "rSPSR UsingAArch32" >> - return result - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then read_reg SPSR_EL1 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then read_reg SPSR_EL2 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then read_reg SPSR_EL3 - else return result - -let _R = - Vector [UndefinedRegister 0;R30;R29;R28;R27;R26;R25;R24;R23;R22;R21;R20;R19;R18;R17;R16;R15;R14;R13;R12;R11; - R10;R9;R8;R7;R6;R5;R4;R3;R2;R1;R0] 31 false - -let _V = - Vector [UndefinedRegister 0;V31;V30;V29;V28;V27;V26;V25;V24;V23;V22;V21;V20;V19;V18;V17;V16;V15;V14;V13;V12; - V11;V10;V9;V8;V7;V6;V5;V4;V3;V2;V1;V0] 32 false - -let ReservedValue () = AArch64_UndefinedFault () - -let UnallocatedEncoding () = AArch64_UndefinedFault () - -let CountLeadingSignBits x = - CountLeadingZeroBits - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) (1:ii)), - set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (2:ii)) (0:ii)))))) - -let LSR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (ZeroExtend ((length x) + shift,reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let Ones N' = - set_vector_start_to_length - (Replicate (N',reset_vector_start (set_vector_start_to_length (Vector [B1] 0 false)))) - -let SignExtend (N', ((Vector (h::_) _ _) as x)) = - let remainder = slice_raw x (1:ii) ((length (reset_vector_start x)) - (1:ii)) in - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length - (Replicate - (N' - (length x), - reset_vector_start (set_vector_start_to_length (Vector [h] 0 false)))))) ^^ - (set_vector_start_to_length x)) - -let supported_instructions instr = match instr with | _ -> Just instr end - -let LSL (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSL_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let ThisInstrAddr N' = - let N = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))) in - let _ = - assert' ((eq_range (N, (64:ii))) |. ((eq_range (N, (32:ii))) &. (UsingAArch32 ()))) (Nothing) in - rPC () >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let AArch64_Abort (vaddress, fault) = not_implemented "AArch64_Abort" - -let rV (N', n) = - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let rVpart (N', n, part) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (set_vector_start_to_length (mask (N',reset_vector_start (set_vector_start_to_length w__0))))) - else - let _ = - assert' (eq_range - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))), - (64:ii))) (Nothing) in - read_reg_range (access _V n) (127:ii) (64:ii) >>= fun w__1 -> - return (set_vector_start_to_length (set_vector_start 63 w__1)) - -let ExternalInvasiveDebugEnabled () = - signalDBGEN () >>= fun w__0 -> - return (eq (w__0, HIGH)) - -let Align (x, y) = - set_vector_start_to_length - (to_vec_dec (length x,Align' (UInt (reset_vector_start (set_vector_start_to_length x)),y))) - -let empty_read_buffer = - <| read_buffer_type_size = (0:ii); - read_buffer_type_acctype = AccType_NORMAL; - read_buffer_type_exclusive = B0; - read_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))) |> - -let empty_write_buffer = - <| write_buffer_type_size = (0:ii); - write_buffer_type_acctype = AccType_NORMAL; - write_buffer_type_exclusive = B0; - write_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))); - write_buffer_type_value = (to_vec_dec ((128:ii),(0:ii))) |> - -let HighestELUsingAArch32 () = - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 - -let rX (N', n) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - read_reg (access _R n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - else return (set_vector_start_to_length (Zeros N')) - -let rELR' () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - let _ = - assert' (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun w__1 -> - rELR (reset_vector_start (set_vector_start 1 w__1)) - -let rSPIFP = [RFull "SP_EL0";PSTATE_SPfp] - -let wSPFP = ([PSTATE_SPfp],[RFull "SP_EL0"]) - -let xFP n = if bitU_to_bool (neq_range (n, (31:ii))) then [RFull (access _Rs n)] else [] - -let BigEndianIFP = if bitU_to_bool (UsingAArch32 ()) then [RFull "PSTATE_E"] else [PSTATE_ELfp] - -let flush_write_buffer_exclusive write_buffer = - let _ = assert' write_buffer.write_buffer_type_exclusive (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_ATOMIC -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> - not_implemented "unrecognised memory access" >> - return B0 - end - -let AArch64_CreateFaultRecord (type', ipaddress, level, acctype, write, extflag, secondstage, s2fs1walk) = - <| FaultRecord_type' = type'; - FaultRecord_domain = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_debugmoe = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_ipaddress = ipaddress; - FaultRecord_level = level; - FaultRecord_acctype = acctype; - FaultRecord_write = write; - FaultRecord_extflag = extflag; - FaultRecord_secondstage = secondstage; - FaultRecord_s2fs1walk = s2fs1walk |> - -let flush_write_buffer write_buffer = - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, B0)) (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_NORMAL -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_STREAM -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_UNPRIV -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> not_implemented "unrecognised memory access" - end - -let System_Get (op0, op1, crn, crm, op2) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> - read_reg NZCV >>= fun w__0 -> - return (ZeroExtend ((64:ii),w__0)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> - read_reg DAIF >>= fun w__1 -> - return (ZeroExtend ((64:ii),w__1)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> read_reg TPIDR_EL0 - end - -let Prefetch (address, prfop) = - let hint = - match toNatural (0:ii) with - | (0:nn) -> Prefetch_READ - | (1:nn) -> Prefetch_WRITE - | (2:nn) -> Prefetch_EXEC - end in - let target = (0:ii) in - let stream = B0 in - let returnv = B0 in - let (returnv, hint) = - match (slice prfop (4:ii) (3:ii)) with - | Vector [B0;B0] _ _ -> - let hint = Prefetch_READ in - (returnv,hint) - | Vector [B0;B1] _ _ -> - let hint = Prefetch_EXEC in - (returnv,hint) - | Vector [B1;B0] _ _ -> - let hint = Prefetch_WRITE in - (returnv,hint) - | Vector [B1;B1] _ _ -> - let returnv = B1 in - (returnv,hint) - end in - let (target, stream) = - if bitU_to_bool (~returnv) - then - let target = unsigned (reset_vector_start (slice prfop (2:ii) (1:ii))) in - let stream = neq (match (access prfop (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - (target,stream) - else (target,stream) in - () - -let DoubleLockStatus () = - if bitU_to_bool (ELUsingAArch32 (reset_vector_start EL1)) - then - read_reg_bitfield DBGOSDLR "DLK" >>= fun w__0 -> - read_reg_bitfield DBGPRCR "CORENPDRQ" >>= fun w__1 -> - Halted () >>= fun w__2 -> - return ((eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__2))) - else - read_reg_bitfield OSDLR_EL1 "DLK" >>= fun w__3 -> - read_reg_bitfield DBGPRCR_EL1 "CORENPDRQ" >>= fun w__4 -> - Halted () >>= fun w__5 -> - return ((eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__5))) - -let wSP ((), value) = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - write_reg - SP_EL1 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - write_reg - SP_EL2 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - write_reg - SP_EL3 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return (assert' B0 (Nothing)) - -let decodeTMCommit () = Just (TMCommit) - -let decodeTMTest () = Just (TMTest) - -let decodeTMAbort ((Vector [R;_;_;_;_;_] _ _) as v__975) = - let imm5 = slice_raw v__975 (1:ii) (5:ii) in - Just (TMAbort (R,reset_vector_start imm5)) - -let wV (n, value) = - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - -let wVpart (n, part, value) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - else - let _ = - assert' (eq_range - (length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec (length value,(0:ii))))), - (64:ii))) (Nothing) in - write_reg_range (access _V n) (127:ii) (64:ii) (set_vector_start 127 value) - -let wX (n, value) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - write_reg - (access _R n) - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return () - -let decodeAdvSIMDLoadStoreMultiStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreMultiStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint1 machineCode = - not_implemented "decodeDataSIMDFPoint1" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint2 machineCode = - not_implemented "decodeDataSIMDFPoint2" >> - return (Just (Unallocated)) - -let AArch64_CheckForWFxTrap (target_el, is_wfe) = - let _ = assert' (HaveEL (reset_vector_start target_el)) (Nothing) in - let trap = B0 in - (if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL1)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCTLR_EL1 "nTWE" >>= fun w__0 -> - return (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCTLR_EL1 "nTWI" >>= fun w__1 -> - return (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__2 -> - let trap = eq (w__2, (0:ii)) in - return trap - else - if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL2)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield HCR_EL2 "TWE" >>= fun w__3 -> - return (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield HCR_EL2 "TWI" >>= fun w__4 -> - return (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__5 -> - let trap = eq (w__5, (1:ii)) in - return trap - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL3)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCR_EL3 "TWE" >>= fun w__6 -> - return (match w__6 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCR_EL3 "TWI" >>= fun w__7 -> - return (match w__7 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__8 -> - let trap = eq (w__8, (1:ii)) in - return trap - else - let _ = assert' B0 (Nothing) in - return trap) >>= fun trap -> - if bitU_to_bool trap - then AArch64_WFxTrap (reset_vector_start target_el,is_wfe) - else return () - -let wmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_write Write_exclusive) - | AccType_ORDERED -> return (IK_mem_write Write_exclusive_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_exclusive) - end - else - match acctype with - | AccType_NORMAL -> return (IK_mem_write Write_plain) - | AccType_STREAM -> return (IK_mem_write Write_plain) - | AccType_UNPRIV -> return (IK_mem_write Write_plain) - | AccType_ORDERED -> return (IK_mem_write Write_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_plain) - end - -let BranchTo (target, branch_type) = - let target' = set_vector_start_to_length target in - let _ = Hint_Branch branch_type in - (if bitU_to_bool - (eq_range (length (reset_vector_start (set_vector_start_to_length target)), (32:ii))) - then - let _ = assert' (UsingAArch32 ()) (Nothing) in - write_reg _PC (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length target))) >> - return target' - else - let _ = - assert' ((eq_range (length (reset_vector_start (set_vector_start_to_length target)), (64:ii))) &. - (~(UsingAArch32 ()))) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - (if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__0 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__1 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__2 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__3 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg_bitfield TCR_EL2 "TBI" >>= fun w__4 -> - let target' = - if bitU_to_bool (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg_bitfield TCR_EL3 "TBI" >>= fun w__5 -> - let target' = - if bitU_to_bool (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else return target') >>= fun target' -> - write_reg _PC target' >> - return target') >>= fun target' -> - return () - -let rmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_read Read_exclusive) - | AccType_ORDERED -> return (IK_mem_read Read_exclusive_acquire) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_read Read_exclusive) - end - else - return (match acctype with - | AccType_NORMAL -> IK_mem_read Read_plain - | AccType_ATOMIC -> IK_mem_read Read_plain - | AccType_STREAM -> IK_mem_read Read_stream - | AccType_UNPRIV -> IK_mem_read Read_plain - | AccType_ORDERED -> IK_mem_read Read_acquire - end) - -let decodeTMStart Rt = - let t = UInt_reg (reset_vector_start Rt) in - Just (TMStart t) - -let decodeAddSubtractWithCarry ((Vector [sf;op;S;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__969) = - let Rm = slice_raw v__969 (11:ii) (15:ii) in - let Rn = slice_raw v__969 (22:ii) (26:ii) in - let Rd = slice_raw v__969 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (AddSubCarry (d,n,m,datasize,sub_op,setflags)) - -let decodeConditionalCompareRegister ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__961) = - let Rm = slice_raw v__961 (11:ii) (15:ii) in - let _cond = slice_raw v__961 (16:ii) (19:ii) in - let Rn = slice_raw v__961 (22:ii) (26:ii) in - let nzcv = slice_raw v__961 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - Just (ConditionalCompareRegister (n,m,datasize,sub_op,reset_vector_start condition,reset_vector_start flags)) - -let decodeConditionalSelect ((Vector [sf;op;B0;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;B0;o2;_;_;_;_;_;_;_;_;_;_] _ _) as v__954) = - let Rm = slice_raw v__954 (11:ii) (15:ii) in - let _cond = slice_raw v__954 (16:ii) (19:ii) in - let Rn = slice_raw v__954 (22:ii) (26:ii) in - let Rd = slice_raw v__954 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let condition = set_vector_start 3 _cond in - let else_inv = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let else_inc = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (ConditionalSelect (d,n,m,datasize,reset_vector_start condition,else_inv,else_inc)) - -let BranchToFP (iR, oR) = - (if bitU_to_bool (UsingAArch32 ()) - then iR - else PSTATE_ELfp :: iR,_PCfp :: oR) - -let decodeImplementationDefined = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;isEnd] _ _) as v__920) -> - Just (ImplementationDefinedTestBeginEnd isEnd) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0] _ _) as v__932) -> - Just (ImplementationDefinedStopFetching) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B1] _ _) as v__943) -> - Just (ImplementationDefinedThreadStart) - end - -let NZCVfp = [PSTATE_Vfp;PSTATE_Cfp;PSTATE_Zfp;PSTATE_Nfp] - -let decodeConditionalCompareImmediate ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__912) = - let imm5 = slice_raw v__912 (11:ii) (15:ii) in - let _cond = slice_raw v__912 (16:ii) (19:ii) in - let Rn = slice_raw v__912 (22:ii) (26:ii) in - let nzcv = slice_raw v__912 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm5))) in - Just (ConditionalCompareImmediate (n,datasize,sub_op,reset_vector_start condition,reset_vector_start flags,reset_vector_start (set_vector_start_to_length - imm))) - -let decodeMoveWideImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__909) = - let opc = slice_raw v__909 (1:ii) (2:ii) in - let hw = slice_raw v__909 (9:ii) (10:ii) in - let imm16 = slice_raw v__909 (11:ii) (26:ii) in - let Rd = slice_raw v__909 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let imm = imm16 in - let pos = (0:ii) in - let opcode = - match toNatural (0:ii) with - | (0:nn) -> MoveWideOp_N - | (1:nn) -> MoveWideOp_Z - | (2:nn) -> MoveWideOp_K - end in - match opc with - | Vector [B0;B0] _ _ -> return MoveWideOp_N - | Vector [B1;B0] _ _ -> return MoveWideOp_Z - | Vector [B1;B1] _ _ -> return MoveWideOp_K - | _ -> - UnallocatedEncoding () >> - return opcode - end >>= fun opcode -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access hw (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length hw) ^^ - (set_vector_start_to_length (Vector [B0;B0;B0;B0] 3 false))))) in - return (Just (MoveWide (d,datasize,reset_vector_start imm,pos,opcode))) - -let decodeLoadStoreExclusive ((Vector [_;_;B0;B0;B1;B0;B0;B0;o2;L;o1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__903) = - let size = slice_raw v__903 (0:ii) (1:ii) in - let Rs = slice_raw v__903 (11:ii) (15:ii) in - let Rt2 = slice_raw v__903 (17:ii) (21:ii) in - let Rn = slice_raw v__903 (22:ii) (26:ii) in - let Rt = slice_raw v__903 (27:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let s = UInt_reg (reset_vector_start Rs) in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length (Vector [o2;o1;o0] 2 false), - set_vector_start_to_length (Vector [B1;B0;B0] 2 false))) |. - (eq_vec - (set_vector_start_to_length (Vector [o2;o1] 1 false), - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match (access size (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then UnallocatedEncoding () - else return ()) >> - let acctype = - if bitU_to_bool (eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AccType_ORDERED - else AccType_ATOMIC in - let excl = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let pair = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let elsize = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length size))) in - let regsize = if bitU_to_bool (eq_range (elsize, (64:ii))) then (64:ii) else (32:ii) in - let datasize = if bitU_to_bool pair then elsize * (2:ii) else elsize in - return (Just (LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))) - -let sharedDecodeLoadImmediate (opc, size, Rn, Rt, wback, postindex, scale, offset, acctype, prefetchAllowed) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - (if bitU_to_bool prefetchAllowed - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return memop - else - UnallocatedEncoding () >> - return memop) >>= fun memop -> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,reset_vector_start offset,regsize,datasize))) - -let sharedDecodeLoadRegister (Rn, Rt, Rm, opc, size, wback, postindex, scale, extend_type, shift) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let m = UInt_reg Rm in - let acctype = AccType_NORMAL in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize))) - -let ConditionHoldsIFP _cond = - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> [PSTATE_Zfp] - | Vector [B0;B0;B1] _ _ -> [PSTATE_Cfp] - | Vector [B0;B1;B0] _ _ -> [PSTATE_Nfp] - | Vector [B0;B1;B1] _ _ -> [PSTATE_Vfp] - | Vector [B1;B0;B0] _ _ -> [PSTATE_Zfp;PSTATE_Cfp] - | Vector [B1;B0;B1] _ _ -> [PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B0] _ _ -> [PSTATE_Zfp;PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B1] _ _ -> [] - end - -let decodeAddSubtractImmediate ((Vector [sf;op;S;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__898) = - let shift = slice_raw v__898 (8:ii) (9:ii) in - let imm12 = slice_raw v__898 (10:ii) (21:ii) in - let Rn = slice_raw v__898 (22:ii) (26:ii) in - let Rd = slice_raw v__898 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match shift with - | Vector [B0;B0] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm12))) in - return imm - | Vector [B0;B1] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend - (datasize, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm12) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii)))))))) in - return imm - | Vector [B1;_] _ _ -> - ReservedValue () >> - return imm - end >>= fun imm -> - return (Just (AddSubImmediate (d,n,datasize,sub_op,setflags,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeData3Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B1;B0;B0;B0;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__878) -> - let Rm = slice_raw v__878 (11:ii) (15:ii) in - let Ra = slice_raw v__878 (17:ii) (21:ii) in - let Rn = slice_raw v__878 (22:ii) (26:ii) in - let Rd = slice_raw v__878 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let datasize = destsize in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B0;B1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__884) -> - let Rm = slice_raw v__884 (11:ii) (15:ii) in - let Ra = slice_raw v__884 (17:ii) (21:ii) in - let Rn = slice_raw v__884 (22:ii) (26:ii) in - let Rd = slice_raw v__884 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = (32:ii) in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B1;B0;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__891) -> - let Rm = slice_raw v__891 (11:ii) (15:ii) in - let Ra = slice_raw v__891 (17:ii) (21:ii) in - let Rn = slice_raw v__891 (22:ii) (26:ii) in - let Rd = slice_raw v__891 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = destsize in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned)) - end - -let decodeExtract ((Vector [sf;B0;B0;B1;B0;B0;B1;B1;B1;N;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__872) = - let Rm = slice_raw v__872 (11:ii) (15:ii) in - let imms = slice_raw v__872 (16:ii) (21:ii) in - let Rn = slice_raw v__872 (22:ii) (26:ii) in - let Rd = slice_raw v__872 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let lsb = (0:ii) in - (if bitU_to_bool (neq_bit (N, sf)) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let lsb = UInt (reset_vector_start (set_vector_start_to_length imms)) in - return (Just (ExtractRegister (d,n,m,datasize,lsb))) - -let decodeAddSubtractExtendedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__865) = - let Rm = slice_raw v__865 (11:ii) (15:ii) in - let option_v = slice_raw v__865 (16:ii) (18:ii) in - let imm3 = slice_raw v__865 (19:ii) (21:ii) in - let Rn = slice_raw v__865 (22:ii) (26:ii) in - let Rd = slice_raw v__865 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = UInt (reset_vector_start (set_vector_start_to_length imm3)) in - (if bitU_to_bool (gt (shift, (4:ii))) - then ReservedValue () - else return ()) >> - return (Just (AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift))) - -let decodeAddSubtractShiftedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__859) = - let shift = slice_raw v__859 (8:ii) (9:ii) in - let Rm = slice_raw v__859 (11:ii) (15:ii) in - let imm6 = slice_raw v__859 (16:ii) (21:ii) in - let Rn = slice_raw v__859 (22:ii) (26:ii) in - let Rd = slice_raw v__859 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length shift, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - return (Just (AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount))) - -let decodeLogicalShiftedRegister ((Vector [sf;_;_;B0;B1;B0;B1;B0;_;_;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__855) = - let opc = slice_raw v__855 (1:ii) (2:ii) in - let shift = slice_raw v__855 (8:ii) (9:ii) in - let Rm = slice_raw v__855 (11:ii) (15:ii) in - let imm6 = slice_raw v__855 (16:ii) (21:ii) in - let Rn = slice_raw v__855 (22:ii) (26:ii) in - let Rd = slice_raw v__855 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - let invert = eq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) - -let decodeData1Source = function - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__840) -> - let opc = slice_raw v__840 (20:ii) (21:ii) in - let Rn = slice_raw v__840 (22:ii) (26:ii) in - let Rd = slice_raw v__840 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> RevOp_RBIT - | (1:nn) -> RevOp_REV16 - | (2:nn) -> RevOp_REV32 - | (3:nn) -> RevOp_REV64 - end in - match opc with - | Vector [B0;B0] _ _ -> return RevOp_RBIT - | Vector [B0;B1] _ _ -> return RevOp_REV16 - | Vector [B1;B0] _ _ -> return RevOp_REV32 - | Vector [B1;B1] _ _ -> - (if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then UnallocatedEncoding () - else return ()) >> - return RevOp_REV64 - end >>= fun op -> - return (Just (Reverse (d,n,datasize,op))) - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_] _ _) as v__847) -> - let Rn = slice_raw v__847 (22:ii) (26:ii) in - let Rd = slice_raw v__847 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let opcode = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then CountOp_CLZ - else CountOp_CLS in - return (Just (CountLeading (d,n,datasize,opcode))) - end - -let decodeUnconditionalBranchRegister = function - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B0;_;_;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__820) -> - let op = slice_raw v__820 (9:ii) (10:ii) in - let Rn = slice_raw v__820 (22:ii) (26:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let branch_type = - match toNatural (0:ii) with - | (0:nn) -> BranchType_CALL - | (1:nn) -> BranchType_ERET - | (2:nn) -> BranchType_DBGEXIT - | (3:nn) -> BranchType_RET - | (4:nn) -> BranchType_JMP - | (5:nn) -> BranchType_EXCEPTION - | (6:nn) -> BranchType_UNKNOWN - end in - match op with - | Vector [B0;B0] _ _ -> return BranchType_JMP - | Vector [B0;B1] _ _ -> return BranchType_CALL - | Vector [B1;B0] _ _ -> return BranchType_RET - | _ -> - UnallocatedEncoding () >> - return branch_type - end >>= fun branch_type -> - return (Just (BranchRegister (n,branch_type))) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__826) -> - return (Just (ExceptionReturn)) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B1;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__833) -> - return (Just (DebugRestorePState)) - end - -let decodeData2Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B0;B0;B1;o1;_;_;_;_;_;_;_;_;_;_] _ _) as v__800) -> - let Rm = slice_raw v__800 (11:ii) (15:ii) in - let Rn = slice_raw v__800 (22:ii) (26:ii) in - let Rd = slice_raw v__800 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let _unsigned = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return (Just (Division (d,n,m,datasize,_unsigned))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__807) -> - let Rm = slice_raw v__807 (11:ii) (15:ii) in - let op2 = slice_raw v__807 (20:ii) (21:ii) in - let Rn = slice_raw v__807 (22:ii) (26:ii) in - let Rd = slice_raw v__807 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 op2)) in - return (Just (Shift (d,n,m,datasize,shift_type))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B1;B0;C;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__813) -> - let Rm = slice_raw v__813 (11:ii) (15:ii) in - let sz = slice_raw v__813 (20:ii) (21:ii) in - let Rn = slice_raw v__813 (22:ii) (26:ii) in - let Rd = slice_raw v__813 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let size = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length sz))) in - let crc32c = eq (match C with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (CRC (d,n,m,size,crc32c))) - end - -let decodeExceptionGeneration = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B1] _ _) as v__771) -> - let imm16 = slice_raw v__771 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL1 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B0] _ _) as v__776) -> - let imm16 = slice_raw v__776 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL2 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B1] _ _) as v__781) -> - let imm16 = slice_raw v__781 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL3 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__786) -> - let imm16 = slice_raw v__786 (11:ii) (26:ii) in - let comment = imm16 in - return (Just (DebugBreakpoint (reset_vector_start comment))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__791) -> - let imm16 = slice_raw v__791 (11:ii) (26:ii) in - return (Just (ExternalDebugBreakpoint)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;_;_] _ _) as v__796) -> - let imm16 = slice_raw v__796 (11:ii) (26:ii) in - let LL = slice_raw v__796 (30:ii) (31:ii) in - let target_level = LL in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length LL, - set_vector_start_to_length (Vector [B0;B0] 1 false))) - then UnallocatedEncoding () - else return ()) >> - return (Just (DebugSwitchToExceptionLevel (reset_vector_start target_level))) - end - -let decodeSystem = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;B0;B1;B0;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__706) -> - let op1 = slice_raw v__706 (13:ii) (15:ii) in - let CRm = slice_raw v__706 (20:ii) (23:ii) in - let op2 = slice_raw v__706 (24:ii) (26:ii) in - let operand = set_vector_start 3 CRm in - let field' = - match toNatural (0:ii) with - | (0:nn) -> PSTATEField_DAIFSet - | (1:nn) -> PSTATEField_DAIFClr - | (2:nn) -> PSTATEField_SP - end in - match ((set_vector_start_to_length op1) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B1;B0;B1] _ _) as v__712) -> return PSTATEField_SP - | ((Vector [B0;B1;B1;B1;B1;B0] _ _) as v__715) -> return PSTATEField_DAIFSet - | ((Vector [B0;B1;B1;B1;B1;B1] _ _) as v__718) -> return PSTATEField_DAIFClr - | _ -> - UnallocatedEncoding () >> - return field' - end >>= fun field' -> - return (Just (MoveSystemImmediate (reset_vector_start operand,field'))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__721) -> - let CRm = slice_raw v__721 (20:ii) (23:ii) in - let op2 = slice_raw v__721 (24:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> SystemHintOp_NOP - | (1:nn) -> SystemHintOp_YIELD - | (2:nn) -> SystemHintOp_WFE - | (3:nn) -> SystemHintOp_WFI - | (4:nn) -> SystemHintOp_SEV - | (5:nn) -> SystemHintOp_SEVL - end in - let op = - match ((set_vector_start_to_length CRm) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B0;B0;B0;B0] _ _) as v__728) -> SystemHintOp_NOP - | ((Vector [B0;B0;B0;B0;B0;B0;B1] _ _) as v__731) -> SystemHintOp_YIELD - | ((Vector [B0;B0;B0;B0;B0;B1;B0] _ _) as v__734) -> SystemHintOp_WFE - | ((Vector [B0;B0;B0;B0;B0;B1;B1] _ _) as v__737) -> SystemHintOp_WFI - | ((Vector [B0;B0;B0;B0;B1;B0;B0] _ _) as v__740) -> SystemHintOp_SEV - | ((Vector [B0;B0;B0;B0;B1;B0;B1] _ _) as v__743) -> SystemHintOp_SEVL - | _ -> SystemHintOp_NOP - end in - return (Just (Hint op)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B0;B1;B0;B1;B1;B1;B1;B1] _ _) as v__746) -> - let CRm = slice_raw v__746 (20:ii) (23:ii) in - let imm = unsigned (reset_vector_start CRm) in - return (Just (ClearExclusiveMonitor imm)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B1;_;_;B1;B1;B1;B1;B1] _ _) as v__754) -> - let CRm = slice_raw v__754 (20:ii) (23:ii) in - let opc = slice_raw v__754 (25:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> MemBarrierOp_DSB - | (1:nn) -> MemBarrierOp_DMB - | (2:nn) -> MemBarrierOp_ISB - end in - let domain = - match toNatural (0:ii) with - | (0:nn) -> MBReqDomain_Nonshareable - | (1:nn) -> MBReqDomain_InnerShareable - | (2:nn) -> MBReqDomain_OuterShareable - | (3:nn) -> MBReqDomain_FullSystem - end in - let types = - match toNatural (0:ii) with - | (0:nn) -> MBReqTypes_Reads - | (1:nn) -> MBReqTypes_Writes - | (2:nn) -> MBReqTypes_All - end in - match opc with - | Vector [B0;B0] _ _ -> return MemBarrierOp_DSB - | Vector [B0;B1] _ _ -> return MemBarrierOp_DMB - | Vector [B1;B0] _ _ -> return MemBarrierOp_ISB - | _ -> - UnallocatedEncoding () >> - return op - end >>= fun op -> - let domain = - match (slice CRm (3:ii) (2:ii)) with - | Vector [B0;B0] _ _ -> MBReqDomain_OuterShareable - | Vector [B0;B1] _ _ -> MBReqDomain_Nonshareable - | Vector [B1;B0] _ _ -> MBReqDomain_InnerShareable - | Vector [B1;B1] _ _ -> MBReqDomain_FullSystem - end in - let (domain, types) = - match (slice CRm (1:ii) (0:ii)) with - | Vector [B0;B1] _ _ -> - let types = MBReqTypes_Reads in - (domain,types) - | Vector [B1;B0] _ _ -> - let types = MBReqTypes_Writes in - (domain,types) - | Vector [B1;B1] _ _ -> - let types = MBReqTypes_All in - (domain,types) - | _ -> - let types = MBReqTypes_All in - let domain = MBReqDomain_FullSystem in - (domain,types) - end in - return (Just (Barrier (op,domain,types))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__762) -> - let op1 = slice_raw v__762 (13:ii) (15:ii) in - let CRn = slice_raw v__762 (16:ii) (19:ii) in - let CRm = slice_raw v__762 (20:ii) (23:ii) in - let op2 = slice_raw v__762 (24:ii) (26:ii) in - let Rt = slice_raw v__762 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = (1:ii) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let has_result = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B1;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__766) -> - let op1 = slice_raw v__766 (13:ii) (15:ii) in - let CRn = slice_raw v__766 (16:ii) (19:ii) in - let CRm = slice_raw v__766 (20:ii) (23:ii) in - let op2 = slice_raw v__766 (24:ii) (26:ii) in - let Rt = slice_raw v__766 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = - (2:ii) + (UInt (reset_vector_start (set_vector_start_to_length (Vector [o0] 0 false)))) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let read = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read))) - end - -let ASR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (SignExtend (shift + (length x),reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let ASR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ASR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let LSR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let AArch64_ResetGeneralRegisters () = - (foreachM_inc ((0:ii),(30:ii),(1:ii)) () - (fun i _ -> - wX (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),UNKNOWN)))))) - -let AArch64_ResetSIMDFPRegisters () = - (foreachM_inc ((0:ii),(31:ii),(1:ii)) () - (fun i _ -> - wV (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((128:ii),UNKNOWN)))))) - -let wMem'IFP = BigEndianIFP - -let IsFault addrdesc = neq (addrdesc.AddressDescriptor_fault.FaultRecord_type', Fault_None) - -let Extend (N', x, unsigned) = - if bitU_to_bool unsigned - then - set_vector_start_to_length (ZeroExtend (N',reset_vector_start (set_vector_start_to_length x))) - else - set_vector_start_to_length (SignExtend (N',reset_vector_start (set_vector_start_to_length x))) - -let _rMem (read_buffer, desc, size, acctype, exclusive) = - if bitU_to_bool (eq_range (read_buffer.read_buffer_type_size, (0:ii))) - then - <| read_buffer_type_acctype = acctype; - read_buffer_type_exclusive = exclusive; - read_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - read_buffer_type_size = size |> - else - let _ = assert' (eq (read_buffer.read_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (read_buffer.read_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - read_buffer.read_buffer_type_address)) - read_buffer.read_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|read_buffer with read_buffer_type_size = (read_buffer.read_buffer_type_size + size)|> - -let CheckSPAlignmentIFP = PSTATE_ELfp :: rSPIFP - -let SCR_GEN () = - let _ = assert' (HaveEL (reset_vector_start EL3)) (Nothing) in - if bitU_to_bool (HighestELUsingAArch32 ()) - then SCR - else SCR_EL3 - -let AArch64_AlignmentFault (acctype, iswrite, secondstage) = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let s2fs1walk = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - AArch64_CreateFaultRecord - (Fault_Alignment, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let AArch64_NoFault () = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let acctype = AccType_NORMAL in - let iswrite = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let secondstage = B0 in - let s2fs1walk = B0 in - AArch64_CreateFaultRecord - (Fault_None, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let decodeConditionalBranchImmediate ((Vector [B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;_;_;_;_] _ _) as v__702) = - let imm19 = slice_raw v__702 (8:ii) (26:ii) in - let _cond = slice_raw v__702 (28:ii) (31:ii) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let condition = set_vector_start 3 _cond in - Just (BranchConditional (reset_vector_start offset,reset_vector_start condition)) - -let _wMem (write_buffer, desc, size, acctype, exclusive, value) = - if bitU_to_bool (eq_range (write_buffer.write_buffer_type_size, (0:ii))) - then - <| write_buffer_type_acctype = acctype; - write_buffer_type_exclusive = exclusive; - write_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - write_buffer_type_value = - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))); - write_buffer_type_size = size |> - else - let _ = assert' (eq (write_buffer.write_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - write_buffer.write_buffer_type_address)) - write_buffer.write_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|write_buffer with - write_buffer_type_value = - (ZeroExtend - ((128:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length value) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii))))))); write_buffer_type_size = - (write_buffer.write_buffer_type_size + size)|> - -let HaveAArch32EL el = - if bitU_to_bool (~(HaveEL (reset_vector_start el))) - then B0 - else - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else - if bitU_to_bool (HighestELUsingAArch32 ()) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0)) - then B1 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAArch32EL - -let decodeUnconditionalBranchImmediate ((Vector [op;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__699) = - let imm26 = slice_raw v__699 (6:ii) (31:ii) in - let branch_type = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then BranchType_CALL - else BranchType_JMP in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm26) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (BranchImmediate (branch_type,reset_vector_start offset)) - -let decodeCompareBranchImmediate ((Vector [sf;B0;B1;B1;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__695) = - let imm19 = slice_raw v__695 (8:ii) (26:ii) in - let Rt = slice_raw v__695 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let iszero = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (CompareAndBranch (t,datasize,iszero,reset_vector_start offset)) - -let decodePCRelAddressing ((Vector [op;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__692) = - let immlo = slice_raw v__692 (1:ii) (2:ii) in - let immhi = slice_raw v__692 (8:ii) (26:ii) in - let Rd = slice_raw v__692 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let page = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = to_vec_dec ((64:ii),(0:ii)) in - let imm = - if bitU_to_bool page - then - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length immlo) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii))))))))) - else - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ (set_vector_start_to_length immlo)))) in - Just (Address (d,page,reset_vector_start imm)) - -let decodeTestBranchImmediate ((Vector [b5;B0;B1;B1;B0;B1;B1;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__688) = - let b40 = slice_raw v__688 (8:ii) (12:ii) in - let imm14 = slice_raw v__688 (13:ii) (26:ii) in - let Rt = slice_raw v__688 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match b5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let bit_pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [b5] 0 false)) ^^ (set_vector_start_to_length b40)))) in - let bit_val = op in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm14) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (TestBitAndBranch (t,datasize,bit_pos,bit_val,reset_vector_start offset)) - -let decodeLoadStoreRegisterRegisterOffset ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;S;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__681) = - let size = slice_raw v__681 (0:ii) (1:ii) in - let opc = slice_raw v__681 (8:ii) (9:ii) in - let Rm = slice_raw v__681 (11:ii) (15:ii) in - let option_v = slice_raw v__681 (16:ii) (18:ii) in - let Rn = slice_raw v__681 (22:ii) (26:ii) in - let Rt = slice_raw v__681 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - (if bitU_to_bool - (eq - (match (access (set_vector_start_to_length option_v) (1:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) - then UnallocatedEncoding () - else return ()) >> - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = - if bitU_to_bool (eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then scale - else (0:ii) in - sharedDecodeLoadRegister - (reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rm, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - wback, - postindex, - scale, - extend_type, - shift) - -let decodeLoadRegisterLiteral ((Vector [_;_;B0;B1;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__677) = - let opc = slice_raw v__677 (0:ii) (1:ii) in - let imm19 = slice_raw v__677 (8:ii) (26:ii) in - let Rt = slice_raw v__677 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let memop = MemOp_LOAD in - let _signed = B0 in - let size = (0:ii) in - let offset = to_vec_dec ((64:ii),(4:ii)) in - let (memop, _signed, size) = - match opc with - | Vector [B0;B0] _ _ -> - let size = (4:ii) in - (memop,_signed,size) - | Vector [B0;B1] _ _ -> - let size = (8:ii) in - (memop,_signed,size) - | Vector [B1;B0] _ _ -> - let size = (4:ii) in - let _signed = B1 in - (memop,_signed,size) - | Vector [B1;B1] _ _ -> - let memop = MemOp_PREFETCH in - (memop,_signed,size) - end in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let datasize = size * (8:ii) in - Just (LoadLiteral (t,memop,_signed,size,reset_vector_start offset,datasize)) - -let ROR_C (x, shift) = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let m = modulo shift N in - let result = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (LSR (reset_vector_start (set_vector_start_to_length x),m)), - set_vector_start_to_length (LSL (reset_vector_start (set_vector_start_to_length x),N - m)))) in - let carry_out = access (set_vector_start_to_length result) (N - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let decodeSystemImplementationDefined machineCode = - match machineCode with - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__647) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__657) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__667) -> - decodeSystem (reset_vector_start machineCode) - end - -let decodeLoadStoreRegisterImmediatePostIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__641) = - let size = slice_raw v__641 (0:ii) (1:ii) in - let opc = slice_raw v__641 (8:ii) (9:ii) in - let imm9 = slice_raw v__641 (11:ii) (19:ii) in - let Rn = slice_raw v__641 (22:ii) (26:ii) in - let Rt = slice_raw v__641 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterImmediatePreIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__635) = - let size = slice_raw v__635 (0:ii) (1:ii) in - let opc = slice_raw v__635 (8:ii) (9:ii) in - let imm9 = slice_raw v__635 (11:ii) (19:ii) in - let Rn = slice_raw v__635 (22:ii) (26:ii) in - let Rt = slice_raw v__635 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterUnprivileged ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__629) = - let size = slice_raw v__629 (0:ii) (1:ii) in - let opc = slice_raw v__629 (8:ii) (9:ii) in - let imm9 = slice_raw v__629 (11:ii) (19:ii) in - let Rn = slice_raw v__629 (22:ii) (26:ii) in - let Rt = slice_raw v__629 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_UNPRIV, - B0) - -let decodeLoadStoreRegisterUnscaledImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__623) = - let size = slice_raw v__623 (0:ii) (1:ii) in - let opc = slice_raw v__623 (8:ii) (9:ii) in - let imm9 = slice_raw v__623 (11:ii) (19:ii) in - let Rn = slice_raw v__623 (22:ii) (26:ii) in - let Rt = slice_raw v__623 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreRegisterUnsignedImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__619) = - let size = slice_raw v__619 (0:ii) (1:ii) in - let opc = slice_raw v__619 (8:ii) (9:ii) in - let imm12 = slice_raw v__619 (10:ii) (21:ii) in - let Rn = slice_raw v__619 (22:ii) (26:ii) in - let Rt = slice_raw v__619 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm12)))), - scale) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreNoAllocatePairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B0;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__614) = - let opc = slice_raw v__614 (0:ii) (1:ii) in - let imm7 = slice_raw v__614 (10:ii) (16:ii) in - let Rt2 = slice_raw v__614 (17:ii) (21:ii) in - let Rn = slice_raw v__614 (22:ii) (26:ii) in - let Rt = slice_raw v__614 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let acctype = AccType_STREAM in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - (if bitU_to_bool (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm7)))), - scale) in - return (Just (LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,reset_vector_start offset))) - -let sharedDecodeLoadStorePair (L, opc, imm7, Rn, Rt, Rt2, wback, postindex) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let t2 = UInt_reg Rt2 in - let acctype = AccType_NORMAL in - let memop = if bitU_to_bool (eq (L, (1:ii))) then MemOp_LOAD else MemOp_STORE in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length - (Vector [if bitU_to_bool (is_one L) then B1 else B0;access opc (0:ii)] 1 false), - set_vector_start_to_length (Vector [B0;B1] 1 false))) |. - (eq_vec - (set_vector_start_to_length opc, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let _signed = neq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length (SignExtend ((64:ii),reset_vector_start imm7))), - scale) in - return (Just (LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,reset_vector_start offset))) - -let decodeDataRegister machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__484) -> - decodeLogicalShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__497) -> - decodeAddSubtractShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__510) -> - decodeAddSubtractExtendedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__523) -> - return (decodeAddSubtractWithCarry - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__536) -> - return (decodeConditionalCompareRegister (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__549) -> - return (decodeConditionalCompareImmediate (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__562) -> - return (decodeConditionalSelect (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__575) -> - return (decodeData3Source (reset_vector_start machineCode)) - | ((Vector [_;B0;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__588) -> - decodeData2Source (reset_vector_start machineCode) - | ((Vector [_;B1;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__601) -> - decodeData1Source (reset_vector_start machineCode) - end - -let ROR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ROR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let wMemIFP = wMem'IFP - -let decodeLoadStoreRegisterPairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B1;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__479) = - let opc = slice_raw v__479 (0:ii) (1:ii) in - let imm7 = slice_raw v__479 (10:ii) (16:ii) in - let Rt2 = slice_raw v__479 (17:ii) (21:ii) in - let Rn = slice_raw v__479 (22:ii) (26:ii) in - let Rt = slice_raw v__479 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPostIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B0;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__474) = - let opc = slice_raw v__474 (0:ii) (1:ii) in - let imm7 = slice_raw v__474 (10:ii) (16:ii) in - let Rt2 = slice_raw v__474 (17:ii) (21:ii) in - let Rn = slice_raw v__474 (22:ii) (26:ii) in - let Rt = slice_raw v__474 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPreIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B1;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__469) = - let opc = slice_raw v__469 (0:ii) (1:ii) in - let imm7 = slice_raw v__469 (10:ii) (16:ii) in - let Rt2 = slice_raw v__469 (17:ii) (21:ii) in - let Rn = slice_raw v__469 (22:ii) (26:ii) in - let Rt = slice_raw v__469 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let IsSecureBelowEL3 () = - if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - read_reg_bitfield (SCR_GEN ()) "NS" >>= fun w__0 -> - return (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - else - return (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3) - -let AArch64_ResetSpecialRegisters () = - write_reg SP_EL0 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SP_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL1 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then - write_reg SP_EL2 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL2 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL2 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg SP_EL3 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL3 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL3 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - let _ = - if bitU_to_bool (HaveAArch32EL (reset_vector_start EL1)) - then - let SPSR_fiq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_irq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_abt = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_und = to_vec_dec ((32:ii),UNKNOWN) in - () - else () in - let DLR_EL0 = to_vec_dec ((64:ii),UNKNOWN) in - let DSPSR_EL0 = to_vec_dec ((32:ii),UNKNOWN) in - return () - -let DecodeBitMasks (M', immN, imms, immr, immediate) = - let M = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (M',(0:ii))))) in - let levels = to_vec_dec ((6:ii),(0:ii)) in - let len = - match (HighestSetBit - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [immN] 0 false)) ^^ - (set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length imms)))))))) with - | Nothing -> - let _ = assert' B0 (Just "DecodeBitMasks: HighestSetBit returned None") in - (0:ii) - | Just (c) -> c - end in - (if bitU_to_bool (lt (len, (1:ii))) - then ReservedValue () - else return ()) >> - let _ = assert' (gteq (M, lsl' ((1:ii),len))) (Nothing) in - let levels = - ZeroExtend - ((6:ii), - reset_vector_start (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B1] 0 false), len)))) in - (if bitU_to_bool - (immediate &. - (eq_vec - (set_vector_start_to_length - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)), - set_vector_start_to_length levels))) - then ReservedValue () - else return ()) >> - let S = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)) in - let R = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length immr, set_vector_start_to_length levels)) in - let diff = - set_vector_start 5 - (minus_VVV - (reset_vector_start (set_vector_start_to_length S)) - (reset_vector_start (set_vector_start_to_length R))) in - let esize = lsl' ((1:ii),len) in - let d = set_vector_start 5 (slice diff (len - (1:ii)) (0:ii)) in - let welem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length S)) (1:ii)))))) in - let telem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length d)) (1:ii)))))) in - let wmask = - Replicate - (M', - reset_vector_start (set_vector_start_to_length - (ROR - (reset_vector_start (set_vector_start_to_length welem), - unsigned (reset_vector_start R))))) in - let tmask = Replicate (M',reset_vector_start (set_vector_start_to_length telem)) in - return (set_vector_start_to_length wmask,set_vector_start_to_length tmask) - -let AArch64_TranslateAddress (vaddress, acctype, iswrite, wasaligned, size) = - let _ = - info - "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)." in - <| AddressDescriptor_fault = (AArch64_NoFault ()); - AddressDescriptor_memattrs = - (<| MemoryAttributes_type' = MemType_Normal; - MemoryAttributes_shareable = B1 |>); - AddressDescriptor_paddress = - (<| FullAddress_physicaladdress = vaddress; - FullAddress_NS = B1 |>) |> - -let ExtendReg (N', _reg, type', shift) = - rX (N',_reg) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let _unsigned = B0 in - let len = (0:ii) in - let (_unsigned, len) = - match type' with - | ExtendType_SXTB -> - let _unsigned = B0 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_SXTH -> - let _unsigned = B0 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_SXTW -> - let _unsigned = B0 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_SXTX -> - let _unsigned = B0 in - let len = (64:ii) in - (_unsigned,len) - | ExtendType_UXTB -> - let _unsigned = B1 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_UXTH -> - let _unsigned = B1 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_UXTW -> - let _unsigned = B1 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_UXTX -> - let _unsigned = B1 in - let len = (64:ii) in - (_unsigned,len) - end in - let len = uMin (len,(length (reset_vector_start (set_vector_start_to_length _val))) - shift) in - return (set_vector_start_to_length - (Extend - (length _val, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length - (slice (set_vector_start_to_length _val) (len - (1:ii)) (0:ii))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift))))), - _unsigned))) - -let ShiftReg (N', _reg, type', amount) = - rX (N',_reg) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - match type' with - | ShiftType_LSL -> - set_vector_start_to_length - (LSL (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_LSR -> - set_vector_start_to_length - (LSR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ASR -> - set_vector_start_to_length - (ASR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ROR -> - set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length result),amount)) - end in - return (set_vector_start_to_length result) - -let initial_analysis instr = - let iR = [] in - let oR = [] in - let aR = [] in - let Nias = [NIAFP_successor] in - let Dia = DIAFP_none in - let ik = IK_simple in - match instr with - | TMStart (t) -> - let iR = TxNestingLevelfp :: TXIDR_EL0_DEPTHfp :: iR in - let oR = TxNestingLevelfp :: (oR ++ (xFP t)) in - let ik = IK_trans Transaction_start in - return (aR,Nias,iR,oR,ik) - | TMCommit -> - let iR = TxNestingLevelfp :: iR in - let oR = TxNestingLevelfp :: oR in - let ik = IK_trans Transaction_commit in - return (aR,Nias,iR,oR,ik) - | TMAbort (retry,reason) -> - let iR = TxNestingLevelfp :: iR in - let ik = IK_trans Transaction_abort in - return (aR,Nias,iR,oR,ik) - | TMTest -> - let iR = TxNestingLevelfp :: iR in - let oR = (RFull "NZCV") :: oR in - return (aR,Nias,iR,oR,ik) - | CompareAndBranch (t,datasize,iszero,offset) -> - let iR = iR ++ (xFP t) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v0v', v1v') -> (v0v',v1v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__0 -> - let nia' = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let Nias = [NIAFP_concrete_address (reset_vector_start nia');NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchConditional (offset,condition) -> - let iR = iR ++ (ConditionHoldsIFP (reset_vector_start condition)) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v2v', v3v') -> (v2v',v3v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__1 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL1 (imm) -> - not_implemented "GenerateExceptionEL1" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL2 (imm) -> - not_implemented "GenerateExceptionEL2" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL3 (imm) -> - not_implemented "GenerateExceptionEL3" >> - return (aR,Nias,iR,oR,ik) - | DebugBreakpoint (comment) -> - not_implemented "DebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | ExternalDebugBreakpoint -> - not_implemented "ExternalDebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | DebugSwitchToExceptionLevel (target_level) -> - not_implemented "DebugSwitchToExceptionLevel" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemImmediate (operand,field') -> - let (iR, oR) = - match field' with - | PSTATEField_SP -> - let oR = PSTATE_SPfp :: oR in - (iR,oR) - | PSTATEField_DAIFSet -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - | PSTATEField_DAIFClr -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - end in - return (aR,Nias,iR,oR,ik) - | Hint (op) -> - match op with - | SystemHintOp_YIELD -> return () - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__2 -> - if bitU_to_bool w__2 - then return () - else not_implemented "Hint(SystemHintOp_WFE);" - | SystemHintOp_WFI -> not_implemented "Hint(SystemHintOp_WFI);" - | SystemHintOp_SEV -> return () - | SystemHintOp_SEVL -> not_implemented "Hint(SystemHintOp_SEVL);" - | _ -> return () - end >> - return (aR,Nias,iR,oR,ik) - | ClearExclusiveMonitor (imm) -> return (aR,Nias,iR,oR,ik) - | Barrier (op,domain,types) -> - let ik = - match op with - | MemBarrierOp_DSB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DSB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DSB_ST - | MBReqTypes_All -> IK_barrier Barrier_DSB - end - | MemBarrierOp_DMB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DMB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DMB_ST - | MBReqTypes_All -> IK_barrier Barrier_DMB - end - | MemBarrierOp_ISB -> IK_barrier Barrier_ISB - end in - return (aR,Nias,iR,oR,ik) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> - let oR = oR ++ (xFP t) in - not_implemented "System" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> - let (oR, iR) = - if bitU_to_bool read - then - let oR = oR ++ (xFP t) in - let iR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: iR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: iR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: iR - end in - (oR,iR) - else - let iR = iR ++ (xFP t) in - let oR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: oR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: oR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: oR - end in - (oR,iR) in - return (aR,Nias,iR,oR,ik) - | ImplementationDefinedTestBeginEnd (isEnd) -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedStopFetching -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedThreadStart -> return (aR,Nias,iR,oR,ik) - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> - let iR = (xFP t) ++ iR in - let (i, o) = match (BranchToFP (iR,oR)) with | (v4v', v5v') -> (v4v',v5v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__3 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__3)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchImmediate (branch_type,offset) -> - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v6v', v7v') -> (v6v',v7v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__4 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__4)) - (reset_vector_start (set_vector_start_to_length offset)))))] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchRegister (n,branch_type) -> - let iR = iR ++ (xFP n) in - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v8v', v9v') -> (v8v',v9v') end in - let iR = i in - let oR = o in - let Nias = - if bitU_to_bool (eq_range (n, (31:ii))) - then [NIAFP_concrete_address (reset_vector_start (to_vec_dec ((64:ii),(0:ii))))] - else [NIAFP_indirect_address] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | ExceptionReturn -> - not_implemented "ExceptionReturn" >> - return (aR,Nias,iR,oR,ik) - | DebugRestorePState -> - not_implemented "DebugRestorePState" >> - return (aR,Nias,iR,oR,ik) - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> - let iR = _PCfp :: iR in - let oR = (xFP t) ++ oR in - let aR = _PCfp :: aR in - let (aR, ik) = - match memop with - | MemOp_LOAD -> - let ik = IK_mem_read Read_plain in - (aR,ik) - | MemOp_PREFETCH -> - let ik = IK_simple in - let aR = [] in - (aR,ik) - end in - return (aR,Nias,iR,oR,ik) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> - let rt_unknown = B0 in - let rn_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let (iR, aR) = - if bitU_to_bool rn_unknown - then (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - (iR,aR) in - match memop with - | MemOp_STORE -> - let iR = - if bitU_to_bool rt_unknown - then iR - else if bitU_to_bool pair then (xFP t) ++ ((xFP t2) ++ iR) else (xFP t) ++ iR in - (if bitU_to_bool excl - then - let iR = iR ++ wMemIFP in - let oR = (xFP s) ++ oR in - wmem_kind (acctype,B1) >>= fun w__5 -> - let ik = w__5 in - return (iR,oR,ik) - else - let iR = iR ++ wMemIFP in - wmem_kind (acctype,B0) >>= fun w__6 -> - let ik = w__6 in - return (iR,oR,ik)) >>= fun (iR, oR, ik) -> - return (aR,iR,oR,ik) - | MemOp_LOAD -> - (if bitU_to_bool pair - then - let (iR, oR) = - if bitU_to_bool rt_unknown - then - let oR = (xFP t) ++ oR in - (iR,oR) - else - let (iR, oR) = - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - let iR = iR ++ BigEndianIFP in - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) - else - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) in - (iR,oR) in - rmem_kind (acctype,B1) >>= fun w__7 -> - let ik = w__7 in - return (oR,iR,ik) - else - let oR = (xFP t) ++ oR in - rmem_kind (acctype,excl) >>= fun w__8 -> - let ik = w__8 in - return (oR,iR,ik)) >>= fun (oR, iR, ik) -> - return (aR,iR,oR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,iR,oR,ik) - end >>= fun (aR, iR, oR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v10v', v11v') -> (v10v',v11v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__9 -> - let ik = w__9 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - rmem_kind (acctype,B0) >>= fun w__10 -> - let ik = w__10 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v12v', v13v') -> (v12v',v13v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__11 -> - let ik = w__11 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__12 -> - let ik = w__12 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> - let iR = (xFP m) ++ iR in - let aR = (xFP m) ++ aR in - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v14v', v15v') -> (v14v',v15v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__13 -> - let ik = w__13 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__14 -> - let ik = w__14 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> - let rt_unknown = B0 in - let wb_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v16v', v17v') -> (v16v',v17v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__15 -> - let ik = w__15 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - let oR = (xFP t2) ++ oR in - rmem_kind (acctype,B0) >>= fun w__16 -> - let ik = w__16 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v18v', v19v') -> (v18v',v19v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> - let iR = if bitU_to_bool inzero then iR else (xFP d) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ExtractRegister (d,n,m,datasize,lsb) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> - let iR = (xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v20v', v21v') -> (v20v',v21v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | MoveWide (d,datasize,imm,pos,opcode) -> - let iR = if bitU_to_bool (eq (opcode, MoveWideOp_K)) then (xFP d) ++ iR else iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Address (d,page,imm) -> - let iR = _PCfp :: iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v22v', v23v') -> (v22v',v23v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = PSTATE_Cfp :: iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> - let iR = (xFP n) ++ iR in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Reverse (d,n,datasize,op) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CountLeading (d,n,datasize,opcode) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Division (d,n,m,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Shift (d,n,m,datasize,shift_type) -> - let iR = (xFP m) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CRC (d,n,m,size,crc32c) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - end >>= fun (aR, Nias, iR, oR, ik) -> - return (iR,oR,aR,Nias,Dia,ik) - -let decodeBranchesExceptionSystem machineCode = - match machineCode with - | ((Vector [_;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__392) -> - return (decodeUnconditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__403) -> - return (decodeCompareBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__414) -> - return (decodeTestBranchImmediate (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B0;B1;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__425) -> - return (decodeConditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__436) -> - decodeExceptionGeneration (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__447) -> - decodeSystemImplementationDefined (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__458) -> - decodeUnconditionalBranchRegister (reset_vector_start machineCode) - end - -let IsSecure () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((~(UsingAArch32 ())) &. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL3)))) - then return B1 - else - read_reg PSTATE_M >>= fun w__1 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((UsingAArch32 ()) &. (eq_vec (w__1, set_vector_start_to_length M32_Monitor)))) - then return B1 - else IsSecureBelowEL3 () - -let decodeLogicalImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__388) = - let opc = slice_raw v__388 (1:ii) (2:ii) in - let immr = slice_raw v__388 (10:ii) (15:ii) in - let imms = slice_raw v__388 (16:ii) (21:ii) in - let Rn = slice_raw v__388 (22:ii) (26:ii) in - let Rd = slice_raw v__388 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then ReservedValue () - else return ()) >> - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B1) >>= fun w__0 -> - let (imm, _) = match w__0 with | (v0v', v1v') -> (v0v',v1v') end in - return (Just (LogicalImmediate (d,n,datasize,setflags,op,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeBitfield ((Vector [sf;_;_;B1;B0;B0;B1;B1;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__384) = - let opc = slice_raw v__384 (1:ii) (2:ii) in - let immr = slice_raw v__384 (10:ii) (15:ii) in - let imms = slice_raw v__384 (16:ii) (21:ii) in - let Rn = slice_raw v__384 (22:ii) (26:ii) in - let Rd = slice_raw v__384 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let inzero = B0 in - let extend = B0 in - let R = (0:ii) in - let S = (0:ii) in - match opc with - | Vector [B0;B0] _ _ -> - let inzero = B1 in - let extend = B1 in - return (inzero,extend) - | Vector [B0;B1] _ _ -> - let inzero = B0 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B0] _ _ -> - let inzero = B1 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B1] _ _ -> - UnallocatedEncoding () >> - return (inzero,extend) - end >>= fun (inzero, extend) -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - ((neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - ((neq (match (access immr (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - (neq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))))) - then ReservedValue () - else return ()) >> - let R = UInt (reset_vector_start (set_vector_start_to_length immr)) in - let S = UInt (reset_vector_start (set_vector_start_to_length imms)) in - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B0) >>= fun (wmask, tmask) -> - return (Just (BitfieldMove (d,n,datasize,inzero,extend,R,S,reset_vector_start (set_vector_start_to_length - wmask),reset_vector_start (set_vector_start_to_length tmask)))) - -let AArch64_SetExclusiveMonitors (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B0 in - let aligned = - neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - if bitU_to_bool (IsFault memaddrdesc) - then () - else - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then MarkExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - let _ = MarkExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - AArch64_MarkExclusiveVA (reset_vector_start address,ProcessorID (),size) - -let AArch64_TakeReset cold_reset = - let _ = assert' (~(HighestELUsingAArch32 ())) (Nothing) in - write_reg PSTATE_nRW (to_vec_dec ((1:ii),(0:ii))) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg_field CurrentEL "EL" (set_vector_start 3 EL3) >> - write_reg_bitfield SCR_EL3 "NS" B0 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then write_reg_field CurrentEL "EL" (set_vector_start 3 EL2) - else write_reg_field CurrentEL "EL" (set_vector_start 3 EL1)) >> - let _ = AArch64_ResetControlRegisters cold_reset in - write_reg_bitfield SPSel "SP" B0 >> - wPSTATE_DAIF ((),reset_vector_start (Vector [B1;B1;B1;B1] 3 false)) >> - let PSTATE_SS = (0:ii) in - let PSTATE_IL = (0:ii) in - AArch64_ResetGeneralRegisters () >> - AArch64_ResetSIMDFPRegisters () >> - AArch64_ResetSpecialRegisters () >> - ResetExternalDebugRegisters cold_reset >> - let rv = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg RVBAR_EL3 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then read_reg RVBAR_EL2 - else read_reg RVBAR_EL1) >>= fun rv -> - PAMax () >>= fun w__3 -> - let _ = - assert' ((IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (63:ii) w__3)))) &. - (IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (1:ii) (0:ii)))))) (Just "reset vector not correctly aligned") in - BranchTo (reset_vector_start (set_vector_start_to_length rv),BranchType_UNKNOWN) - -let AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - let iswrite = B0 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - return (_rMem (read_buffer,memaddrdesc,size,acctype,exclusive)) - -let AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let iswrite = B1 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then ClearExclusiveByAddress (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - return (_wMem - (write_buffer, - memaddrdesc, - size, - acctype, - exclusive, - reset_vector_start (set_vector_start_to_length value))) - -let AArch64_ExclusiveMonitorsPass (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B1 in - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - (if bitU_to_bool (~aligned) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - let passed = AArch64_IsExclusiveVA (reset_vector_start address,ProcessorID (),size) in - (if bitU_to_bool (~passed) - then return (B0,passed) - else - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let passed = IsExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - let passed = - if bitU_to_bool passed - then - let _ = ClearExclusiveLocal (ProcessorID ()) in - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then IsExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else passed - else passed in - return (passed,passed)) >>= fun (w__0, passed) -> - return w__0 - -let decodeLoadsStores machineCode = - match machineCode with - | ((Vector [_;_;B0;B0;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__80) -> - decodeLoadStoreExclusive (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B0;B1;B1;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__99) -> - return (decodeLoadRegisterLiteral (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__118) -> - decodeLoadStoreNoAllocatePairOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__137) -> - decodeLoadStoreRegisterPairPostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__156) -> - decodeLoadStoreRegisterPairOffset (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__175) -> - decodeLoadStoreRegisterPairPreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__194) -> - decodeLoadStoreRegisterUnscaledImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__213) -> - decodeLoadStoreRegisterImmediatePostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__232) -> - decodeLoadStoreRegisterUnprivileged - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__251) -> - decodeLoadStoreRegisterImmediatePreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__270) -> - decodeLoadStoreRegisterRegisterOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__289) -> - decodeLoadStoreRegisterUnsignedImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B0;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__308) -> - decodeAdvSIMDLoadStoreMultiStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__327) -> - decodeAdvSIMDLoadStoreMultiStructPostIndexed (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B0;_;_;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__346) -> - decodeAdvSIMDLoadStoreSingleStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__365) -> - decodeAdvSIMDLoadStoreSingleStructPostIndexed (reset_vector_start machineCode) - end - -let S1TranslationRegime () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_field CurrentEL "EL" >>= fun w__1 -> - return (set_vector_start 1 w__1) - else - IsSecure () >>= fun w__2 -> - return (if bitU_to_bool - (w__2 &. - ((HaveEL (reset_vector_start EL3)) &. (ELUsingAArch32 (reset_vector_start EL3)))) - then EL3 - else EL1) - -let AArch64_CheckForSMCTrap imm = - IsSecure () >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - read_reg_field CurrentEL "EL" >>= fun w__2 -> - read_reg_bitfield HCR_EL2 "TSC" >>= fun w__3 -> - let route_to_el2 = - (HaveEL (reset_vector_start EL2)) &. - ((~w__0) &. - (((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__2, set_vector_start_to_length EL1))) &. - (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))))) in - if bitU_to_bool route_to_el2 - then not_implemented "AArch64_CheckForSMCTrap route_to_el2" - else return () - -let CheckSystemAccess (op0, op1, crn, crm, op2, rt, read) = - let unallocated = B0 in - let need_secure = B0 in - let min_EL = to_vec_dec ((2:ii),(0:ii)) in - match op1 with - | ((Vector [B0;B0;_] _ _) as v__77) -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B0] _ _ -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B1] _ _ -> - let min_EL = EL0 in - return (need_secure,min_EL) - | Vector [B1;B0;B0] _ _ -> - let min_EL = EL2 in - return (need_secure,min_EL) - | Vector [B1;B0;B1] _ _ -> - UnallocatedEncoding () >> - return (need_secure,min_EL) - | Vector [B1;B1;B0] _ _ -> - let min_EL = EL3 in - return (need_secure,min_EL) - | Vector [B1;B1;B1] _ _ -> - let min_EL = EL1 in - let need_secure = B1 in - return (need_secure,min_EL) - end >>= fun (need_secure, min_EL) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length min_EL)) - then UnallocatedEncoding () - else - IsSecure () >>= fun w__1 -> - if bitU_to_bool (need_secure &. (~w__1)) - then UnallocatedEncoding () - else - AArch64_CheckUnallocatedSystemAccess - (reset_vector_start op0, - reset_vector_start op1, - reset_vector_start crn, - reset_vector_start crm, - reset_vector_start op2, - read) >>= fun w__2 -> - if bitU_to_bool w__2 - then UnallocatedEncoding () - else return () - -let ExternalSecureInvasiveDebugEnabled () = - IsSecure () >>= fun w__0 -> - if bitU_to_bool ((~(HaveEL (reset_vector_start EL3))) &. (~w__0)) - then return B0 - else - ExternalInvasiveDebugEnabled () >>= fun w__1 -> - signalSPIDEN () >>= fun w__2 -> - return (w__1 &. (eq (w__2, HIGH))) - -let decodeDataImmediate machineCode = - match machineCode with - | ((Vector [_;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__35) -> - return (decodePCRelAddressing (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__42) -> - decodeAddSubtractImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__49) -> - decodeLogicalImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__56) -> - decodeMoveWideImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__63) -> - decodeBitfield (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__70) -> - decodeExtract (reset_vector_start (set_vector_start_to_length machineCode)) - end - -let SCTLR' () = - S1TranslationRegime () >>= fun w__0 -> - return (SCTLR (reset_vector_start w__0)) - -let HaltingAllowed () = - Halted () >>= fun w__0 -> - DoubleLockStatus () >>= fun w__1 -> - if bitU_to_bool (w__0 |. w__1) - then return B0 - else - IsSecure () >>= fun w__2 -> - if bitU_to_bool w__2 - then ExternalSecureInvasiveDebugEnabled () - else ExternalInvasiveDebugEnabled () - -let decode machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__0) -> - return (Just (Unallocated)) - | ((Vector [_;_;_;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__5) -> - decodeDataImmediate (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__10) -> - decodeBranchesExceptionSystem (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__15) -> - decodeLoadsStores (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__20) -> - decodeDataRegister (reset_vector_start machineCode) - | ((Vector [_;_;_;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__25) -> - decodeDataSIMDFPoint1 (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__30) -> - decodeDataSIMDFPoint2 (reset_vector_start machineCode) - | _ -> return (Nothing) - end - -let BigEndian () = - let bigend = B0 in - if bitU_to_bool (UsingAArch32 ()) - then - read_reg PSTATE_E >>= fun w__0 -> - let bigend = neq_vec_range (w__0, (0:ii)) in - return bigend - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "E0E" >>= fun w__2 -> - let bigend = neq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - else - SCTLR' () >>= fun w__3 -> - read_reg_bitfield w__3 "EE" >>= fun w__4 -> - let bigend = neq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - -let flush_read_buffer (read_buffer, size) = - let _ = assert' (eq_range (read_buffer.read_buffer_type_size, size)) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - (if bitU_to_bool read_buffer.read_buffer_type_exclusive - then - match read_buffer.read_buffer_type_acctype with - | AccType_ATOMIC -> - rMem_ATOMIC - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - | AccType_ORDERED -> - rMem_ATOMIC_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__1 -> - return (set_vector_start_to_length w__1) - | _ -> - not_implemented "unimplemented memory access" >> - return value - end - else - match read_buffer.read_buffer_type_acctype with - | AccType_NORMAL -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__2 -> - return (set_vector_start_to_length w__2) - | AccType_STREAM -> - rMem_STREAM - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__3 -> - return (set_vector_start_to_length w__3) - | AccType_UNPRIV -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__4 -> - return (set_vector_start_to_length w__4) - | AccType_ORDERED -> - rMem_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__5 -> - return (set_vector_start_to_length w__5) - | AccType_ATOMIC -> return value - end) >>= fun value -> - BigEndian () >>= fun w__6 -> - let value = - if bitU_to_bool w__6 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value))) - else value in - return (set_vector_start_to_length value) - -let CheckSPAlignment () = - rSP (64:ii) >>= fun sp -> - let stack_align_check = B0 in - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "SA0" >>= fun w__1 -> - let stack_align_check = neq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check - else - SCTLR' () >>= fun w__2 -> - read_reg_bitfield w__2 "SA" >>= fun w__3 -> - let stack_align_check = neq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check) >>= fun stack_align_check -> - if bitU_to_bool - (stack_align_check &. - (neq_vec - (set_vector_start_to_length sp, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length sp),(16:ii)))))) - then AArch64_SPAlignmentFault () - else return () - -let AArch64_CheckAlignment (address, size, acctype, iswrite) = - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - SCTLR' () >>= fun w__0 -> - read_reg_bitfield w__0 "A" >>= fun A -> - (if bitU_to_bool - ((~aligned) &. - ((eq (acctype, AccType_ATOMIC)) |. - ((eq (acctype, AccType_ORDERED)) |. - (eq (match A with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))))) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - return aligned - -let rMem' (read_buffer, address, size, acctype, exclusive) = - let read_buffer' = read_buffer in - let i = (0:ii) in - let iswrite = B0 in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - let _ = assert' (gt (size, (1:ii))) (Nothing) in - if bitU_to_bool (~exclusive) - then - AArch64_rMemSingle (read_buffer',reset_vector_start address,(1:ii),acctype,aligned,B0) >>= fun w__0 -> - let read_buffer' = w__0 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) read_buffer' - (fun i read_buffer' -> - AArch64_rMemSingle - (read_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0))) - else return read_buffer' - else AArch64_rMemSingle (read_buffer',reset_vector_start address,size,acctype,aligned,exclusive) - -let wMem' (write_buffer, address, size, acctype, value, exclusive) = - let write_buffer' = write_buffer in - let value' = set_vector_start_to_length value in - let i = (0:ii) in - let iswrite = B1 in - BigEndian () >>= fun w__0 -> - let value' = - if bitU_to_bool w__0 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value'))) - else value' in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - let exclusiveSuccess = B0 in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - if bitU_to_bool (~exclusive) - then - let _ = assert' (gt (size, (1:ii))) (Nothing) in - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (7:ii) (0:ii)))) >>= fun w__1 -> - let write_buffer' = w__1 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) write_buffer' - (fun i write_buffer' -> - AArch64_wMemSingle - (write_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (((8:ii) * i) + (7:ii)) ((8:ii) * i)))))) - else return write_buffer' - else - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - size, - acctype, - aligned, - exclusive, - reset_vector_start (set_vector_start_to_length value')) - -let rMem (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B0) - -let rMem_exclusive (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B1) - -let wMem (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B0) - -let wMem_exclusive (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B1) - - - -let execute_TMStart t = - read_reg TxNestingLevel >>= fun nesting -> - read_reg_field TXIDR_EL0 "DEPTH" >>= fun w__0 -> - if bitU_to_bool - (lt_vec_unsigned (set_vector_start_to_length nesting, set_vector_start_to_length w__0)) - then - write_reg - TxNestingLevel - (set_vector_start 7 (add_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) >> - let status = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then read_reg TMStartEffect - else return status) >>= fun status -> - wX (t,reset_vector_start (set_vector_start_to_length status)) - else - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update_pos status (10:ii) B1 in - write_reg TMAbortEffect status - -let execute_TMCommit () = - read_reg TxNestingLevel >>= fun nesting -> - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (1:ii))) - then TMCommitEffect () - else - if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then AArch64_UndefinedFault () - else return ()) >> - write_reg - TxNestingLevel - (set_vector_start 7 (minus_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) - -let execute_TMTest () = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B0;B0;B0] 3 false)) - else wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B1;B0;B0] 3 false)) - -let execute_TMAbort (retry, reason) = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update status (4:ii) (0:ii) reason in - let status = update_pos status (8:ii) retry in - let status = update_pos status (9:ii) B1 in - write_reg TMAbortEffect status - else return () - -let execute_CompareAndBranch (t, datasize, iszero, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - if bitU_to_bool - (eq_bit (IsZero (reset_vector_start (set_vector_start_to_length operand1)), iszero)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchConditional (offset, condition) = - ConditionHolds (reset_vector_start condition) >>= fun w__0 -> - if bitU_to_bool w__0 - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_GenerateExceptionEL1 imm = AArch64_CallSupervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL2 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - IsSecure () >>= fun w__2 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL2))) |. - ((eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) |. - ((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL1)) &. w__2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg_bitfield SCR_EL3 "HCE" - else - read_reg_bitfield HCR_EL2 "HCD" >>= fun w__4 -> - return (NOT' w__4)) >>= fun hvc_enable -> - if bitU_to_bool (eq (match hvc_enable with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then AArch64_UndefinedFault () - else AArch64_CallHypervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL3 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL3))) |. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0))) - then UnallocatedEncoding () - else return ()) >> - AArch64_CheckForSMCTrap (reset_vector_start imm) >> - read_reg_bitfield SCR_EL3 "SMD" >>= fun w__1 -> - if bitU_to_bool (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AArch64_UndefinedFault () - else AArch64_CallSecureMonitor (reset_vector_start imm) - -let execute_DebugBreakpoint comment = AArch64_SoftwareBreakpoint (reset_vector_start comment) - -let execute_ExternalDebugBreakpoint () = Halt (reset_vector_start DebugHalt_HaltInstruction) - -let execute_DebugSwitchToExceptionLevel target_level = - DCPSInstruction (reset_vector_start target_level) - -let execute_MoveSystemImmediate (operand, field') = - match field' with - | PSTATEField_SP -> write_reg_bitfield SPSel "SP" (access operand (0:ii)) - | PSTATEField_DAIFSet -> - read_reg_bitfield DAIF "D" >>= fun w__0 -> - write_reg_bitfield DAIF "D" (w__0 |. (access operand (3:ii))) >> - read_reg_bitfield DAIF "A" >>= fun w__1 -> - write_reg_bitfield DAIF "A" (w__1 |. (access operand (2:ii))) >> - read_reg_bitfield DAIF "I" >>= fun w__2 -> - write_reg_bitfield DAIF "I" (w__2 |. (access operand (1:ii))) >> - read_reg_bitfield DAIF "F" >>= fun w__3 -> - write_reg_bitfield DAIF "F" (w__3 |. (access operand (0:ii))) - | PSTATEField_DAIFClr -> - read_reg_bitfield DAIF "D" >>= fun w__4 -> - write_reg_bitfield DAIF "D" (w__4 &. (NOT' (access operand (3:ii)))) >> - read_reg_bitfield DAIF "A" >>= fun w__5 -> - write_reg_bitfield DAIF "A" (w__5 &. (NOT' (access operand (2:ii)))) >> - read_reg_bitfield DAIF "I" >>= fun w__6 -> - write_reg_bitfield DAIF "I" (w__6 &. (NOT' (access operand (1:ii)))) >> - read_reg_bitfield DAIF "F" >>= fun w__7 -> - write_reg_bitfield DAIF "F" (w__7 &. (NOT' (access operand (0:ii)))) - end - -let execute_Hint op = - match op with - | SystemHintOp_YIELD -> return (Hint_Yield ()) - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__0 -> - if bitU_to_bool w__0 - then ClearEventRegister () - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B1) - else return ()) >> - IsSecure () >>= fun w__2 -> - read_reg_field CurrentEL "EL" >>= fun w__3 -> - read_reg_field CurrentEL "EL" >>= fun w__4 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__2) &. - ((eq_vec (set_vector_start_to_length w__3, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__4, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B1) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__5 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__5, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B1) - else return ()) >> - WaitForEvent () - | SystemHintOp_WFI -> - InterruptPending () >>= fun w__6 -> - if bitU_to_bool (~w__6) - then - read_reg_field CurrentEL "EL" >>= fun w__7 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__7, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B0) - else return ()) >> - IsSecure () >>= fun w__8 -> - read_reg_field CurrentEL "EL" >>= fun w__9 -> - read_reg_field CurrentEL "EL" >>= fun w__10 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__8) &. - ((eq_vec (set_vector_start_to_length w__9, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__10, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B0) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__11 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__11, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B0) - else return ()) >> - WaitForInterrupt () - else return () - | SystemHintOp_SEV -> return (SendEvent ()) - | SystemHintOp_SEVL -> EventRegisterSet () - | _ -> return () - end - -let execute_ClearExclusiveMonitor imm = return (ClearExclusiveLocal (ProcessorID ())) - -let execute_Barrier (op, domain, types) = - match op with - | MemBarrierOp_DSB -> DataSynchronizationBarrier (domain,types) - | MemBarrierOp_DMB -> DataMemoryBarrier (domain,types) - | MemBarrierOp_ISB -> InstructionSynchronizationBarrier () - end - -let execute_System (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, has_result) = - if bitU_to_bool has_result - then - SysOp_R (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - SysOp_W (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_MoveSystemRegister (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, read) = - if bitU_to_bool read - then - System_Get (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - System_Put (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_ImplementationDefinedTestBeginEnd isEnd = - return (if bitU_to_bool isEnd - then info "test ends" - else info "test begins") - -let execute_ImplementationDefinedStopFetching () = return (info "stop fetching instructions") - -let execute_ImplementationDefinedThreadStart () = return (info "thread start") - -let execute_TestBitAndBranch (t, datasize, bit_pos, bit_val, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand = set_vector_start_to_length w__0 in - if bitU_to_bool (eq_bit (access (set_vector_start_to_length operand) bit_pos, bit_val)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchImmediate (branch_type, offset) = - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - branch_type) - -let execute_BranchRegister (n, branch_type) = - rX ((64:ii),n) >>= fun target -> - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - BranchTo (reset_vector_start (set_vector_start_to_length target),branch_type) - -let execute_ExceptionReturn () = - rELR' () >>= fun w__0 -> - rSPSR () >>= fun w__1 -> - AArch64_ExceptionReturn (reset_vector_start w__0,reset_vector_start w__1) - -let execute_DebugRestorePState () = DRPSInstruction () - -let execute_LoadLiteral (t, memop, _signed, size, offset, datasize) = - rPC () >>= fun w__0 -> - let address = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match memop with - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,size,AccType_NORMAL) >>= fun w__1 -> - flush_read_buffer (w__1,size) >>= fun w__2 -> - let data = set_vector_start_to_length w__2 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data))))) - else wX (t,reset_vector_start (set_vector_start_to_length data))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStoreAcqExc (n, t, t2, s, acctype, excl, pair, memop, elsize, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let rn_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (pair &. (eq_range (t, t2)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - (if bitU_to_bool ((eq_range (s, t)) |. (pair &. (eq_range (s, t2)))) - then UnallocatedEncoding () - else return ()) >> - if bitU_to_bool ((eq_range (s, n)) &. (neq_range (n, (31:ii)))) - then UnallocatedEncoding () - else return () - else return ()) >> - let status = B0 in - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - speculate_exclusive_success () >>= fun w__0 -> - let status = if bitU_to_bool w__0 then B0 else B1 in - wX - (s, - reset_vector_start (set_vector_start_to_length - (ZeroExtend - ((32:ii), - reset_vector_start (set_vector_start_to_length (Vector [status] 0 false)))))) >> - return status - else return status) >>= fun status -> - (if bitU_to_bool (eq (match status with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then return (address,data,status) - else - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else - if bitU_to_bool rn_unknown - then - let address = to_vec_dec ((64:ii),UNKNOWN) in - return address - else rX ((64:ii),n)) >>= fun address -> - match memop with - | MemOp_STORE -> - wMem_Addr (reset_vector_start address,dbytes,acctype,excl) >> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - rX (regsize,t) >>= fun w__3 -> - let el1 = set_vector_start_to_length w__3 in - rX (length el1,t2) >>= fun w__4 -> - let el2 = set_vector_start_to_length w__4 in - BigEndian () >>= fun w__5 -> - let data = - if bitU_to_bool w__5 - then - set_vector_start_to_length - ((set_vector_start_to_length el1) ^^ (set_vector_start_to_length el2)) - else - set_vector_start_to_length - ((set_vector_start_to_length el2) ^^ (set_vector_start_to_length el1)) in - return data - else - rX (length data,t) >>= fun w__6 -> - return (set_vector_start_to_length w__6)) >>= fun data -> - (if bitU_to_bool excl - then - let status = B1 in - AArch64_ExclusiveMonitorsPass (reset_vector_start address,dbytes) >>= fun w__7 -> - if bitU_to_bool w__7 - then - wMem_exclusive - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__8 -> - flush_write_buffer_exclusive w__8 - else return status - else - wMem - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__10 -> - flush_write_buffer w__10 >> - return status) >>= fun status -> - return (data,status) - | MemOp_LOAD -> - let _ = - if bitU_to_bool excl - then AArch64_SetExclusiveMonitors (reset_vector_start address,dbytes) - else () in - (if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - if bitU_to_bool rt_unknown - then - wX - (t, - reset_vector_start (set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)))) >> - return data - else - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - rMem_exclusive (empty_read_buffer,reset_vector_start address,dbytes,acctype) >>= fun w__11 -> - flush_read_buffer (w__11,dbytes) >>= fun w__12 -> - let data = set_vector_start_to_length w__12 in - BigEndian () >>= fun w__13 -> - (if bitU_to_bool w__13 - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize)))) >> - return data - else - (if bitU_to_bool - (neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),dbytes)))) - then - let iswrite = B0 in - let secondstage = B0 in - AArch64_Abort - (reset_vector_start address, - AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - rMem_exclusive - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - (8:ii), - acctype) >>= fun read_buffer -> - rMem_exclusive - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (8:ii))), - (8:ii), - acctype) >>= fun w__14 -> - let read_buffer = w__14 in - flush_read_buffer (read_buffer,(8:ii) * (2:ii)) >>= fun w__15 -> - let value = set_vector_start 127 w__15 in - wX (t,reset_vector_start (set_vector_start_to_length (slice value (63:ii) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length (slice value (127:ii) (64:ii)))) >> - return data - else - rMem' (empty_read_buffer,reset_vector_start address,dbytes,acctype,excl) >>= fun w__16 -> - flush_read_buffer (w__16,dbytes) >>= fun w__17 -> - let data = set_vector_start_to_length w__17 in - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) >> - return data) >>= fun data -> - return (data,status) - end >>= fun (data, status) -> - return (address,data,status)) >>= fun (address, data, status) -> - return () - -let execute_LoadStorePairNonTemp (wback, postindex, n, t, t2, acctype, memop, scale, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2)) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_LoadImmediate (n, t, acctype, memop, _signed, wback, postindex, offset, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadRegister (n, t, m, acctype, memop, _signed, wback, postindex, extend_type, shift, regsize, datasize) = - ExtendReg ((64:ii),m,extend_type,shift) >>= fun offset -> - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStorePair (wback, postindex, n, t, t2, acctype, memop, _signed, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let wb_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data1))))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data2))))) - else - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2))) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_AddSubImmediate (d, n, datasize, sub_op, setflags, imm) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v0v', v1v') -> (v0v',v1v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_BitfieldMove (d, n, datasize, inzero, extend, R, S, wmask, tmask) = - (if bitU_to_bool inzero - then return (set_vector_start_to_length (Zeros datasize)) - else - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0)) >>= fun dst -> - rX (datasize,n) >>= fun w__1 -> - let src = set_vector_start_to_length w__1 in - let bot = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length dst, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length wmask))))), - set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length src),R)), - set_vector_start_to_length wmask)))) in - let top = - if bitU_to_bool extend - then - set_vector_start_to_length - (Replicate - (length bot, - reset_vector_start (set_vector_start_to_length - (Vector [access (set_vector_start_to_length src) S] 0 false)))) - else set_vector_start_to_length dst in - wX - (d, - reset_vector_start (set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length top, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length tmask))))), - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length bot, set_vector_start_to_length tmask)))))) - -let execute_ExtractRegister (d, n, m, datasize, lsb) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let concat = - set_vector_start_to_length - ((set_vector_start_to_length operand1) ^^ (set_vector_start_to_length operand2)) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length concat) ((lsb + datasize) - (1:ii)) lsb) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_LogicalImmediate (d, n, datasize, setflags, op, imm) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_MoveWide (d, datasize, imm, pos, opcode) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - (if bitU_to_bool (eq (opcode, MoveWideOp_K)) - then - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - let result = set_vector_start_to_length (Zeros datasize) in - return result) >>= fun result -> - let result = update result (pos + (15:ii)) pos (set_vector_start_to_length imm) in - let result = - if bitU_to_bool (eq (opcode, MoveWideOp_N)) - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Address (d, page, imm) = - rPC () >>= fun base -> - let base = if bitU_to_bool page then update base (11:ii) (0:ii) (Zeros (12:ii)) else base in - wX - (d, - reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length base)) - (reset_vector_start (set_vector_start_to_length imm))))) - -let execute_AddSubExtendRegister (d, n, m, datasize, sub_op, setflags, extend_type, shift) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - ExtendReg (datasize,m,extend_type,shift) >>= fun w__2 -> - let operand2 = set_vector_start_to_length w__2 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v2v', v3v') -> (v2v',v3v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubShiftedRegister (d, n, m, datasize, sub_op, setflags, shift_type, shift_amount) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v4v', v5v') -> (v4v',v5v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubCarry (d, n, m, datasize, sub_op, setflags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool sub_op - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - read_reg_bitfield NZCV "C" >>= fun w__2 -> - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - w__2)) with - | (v6v', v7v') -> (v6v',v7v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_ConditionalCompareImmediate (n, datasize, sub_op, condition, flags, imm) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__1 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__1 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v8v', v9v') -> (v8v',v9v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalCompareRegister (n, m, datasize, sub_op, condition, flags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__2 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v10v', v11v') -> (v10v',v11v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalSelect (d, n, m, datasize, condition, else_inv, else_inc) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let result = - if bitU_to_bool w__2 - then set_vector_start_to_length operand1 - else - let result = set_vector_start_to_length operand2 in - let result = - if bitU_to_bool else_inv - then - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - if bitU_to_bool else_inc - then - set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length result)) (1:ii)) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Reverse (d, n, datasize, op) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let V = to_vec_dec ((6:ii),(0:ii)) in - let V = - match op with - | RevOp_REV16 -> Vector [B0;B0;B1;B0;B0;B0] 5 false - | RevOp_REV32 -> Vector [B0;B1;B1;B0;B0;B0] 5 false - | RevOp_REV64 -> Vector [B1;B1;B1;B0;B0;B0] 5 false - | RevOp_RBIT -> - if bitU_to_bool (eq_range (datasize, (64:ii))) - then Vector [B1;B1;B1;B1;B1;B1] 5 false - else Vector [B0;B1;B1;B1;B1;B1] 5 false - end in - rX (datasize,n) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - (foreach_inc ((0:ii),(5:ii),(1:ii)) result - (fun vbit result -> - if bitU_to_bool (eq (match (access V vbit) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - let tmp = set_vector_start_to_length result in - let vsize = lsl' ((1:ii),vbit) in - (foreach_inc ((0:ii),datasize - (1:ii),(2:ii) * vsize) result - (fun base result -> - let result = - update - result ((base + vsize) - (1:ii)) base - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) - ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize))) in - update - result ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize) - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) ((base + vsize) - (1:ii)) base)))) - else result)) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CountLeading (d, n, datasize, opcode) = - let result = (0:ii) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let result = - if bitU_to_bool (eq (opcode, CountOp_CLZ)) - then CountLeadingZeroBits (reset_vector_start (set_vector_start_to_length operand1)) - else CountLeadingSignBits (reset_vector_start (set_vector_start_to_length operand1)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Division (d, n, m, datasize, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length operand2))) - then (0:ii) - else - quot - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Shift (d, n, m, datasize, shift_type) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,m) >>= fun w__0 -> - let operand2 = set_vector_start_to_length w__0 in - ShiftReg - (datasize, - n, - shift_type, - modulo (UInt (reset_vector_start (set_vector_start_to_length operand2))) datasize) >>= fun w__1 -> - let result = set_vector_start_to_length w__1 in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CRC (d, n, m, size, crc32c) = - (if bitU_to_bool (~(HaveCRCExt ())) - then UnallocatedEncoding () - else return ()) >> - rX ((32:ii),n) >>= fun acc -> - rX (size,m) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let poly = - if bitU_to_bool crc32c - then - Vector [B0;B0;B0;B1;B1;B1;B1;B0;B1;B1;B0;B1;B1;B1;B0;B0;B0;B1;B1;B0;B1; - B1;B1;B1;B0;B1;B0;B0;B0;B0;B0;B1] 31 false - else - Vector [B0;B0;B0;B0;B0;B1;B0;B0;B1;B1;B0;B0;B0;B0;B0;B1;B0;B0;B0;B1;B1; - B1;B0;B1;B1;B0;B1;B1;B0;B1;B1;B1] 31 false in - let tempacc = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length acc)))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros (length _val))))) in - let tempval = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length _val)))) ^^ - (Zeros (32:ii))) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (BitReverse - (reset_vector_start (set_vector_start_to_length - (Poly32Mod2 - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length tempacc, - set_vector_start_to_length tempval))), - reset_vector_start poly))))))) - -let execute_MultiplyAddSub (d, n, m, a, destsize, datasize, sub_op) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (UInt (reset_vector_start (set_vector_start_to_length operand3))) - - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) - else - (UInt (reset_vector_start (set_vector_start_to_length operand3))) + - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (destsize,result)))) - -let execute_MultiplyAddSubLong (d, n, m, a, destsize, datasize, sub_op, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) - - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) - else - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) + - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),result)))) - -let execute_MultiplyHigh (d, n, m, a, destsize, datasize, _unsigned) = - rX (destsize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (destsize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (slice (to_vec_dec ((128:ii),result)) (127:ii) (64:ii)))) - -let execute_LogicalShiftedRegister (d, n, m, datasize, setflags, op, shift_type, shift_amount, invert) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool invert - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) (datasize - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute = function - - | TMStart (t) -> execute_TMStart (t) - | TMCommit -> execute_TMCommit () - | TMTest -> execute_TMTest () - | TMAbort (retry,reason) -> execute_TMAbort (retry,reason) - | CompareAndBranch (t,datasize,iszero,offset) -> execute_CompareAndBranch (t,datasize,iszero,offset) - | BranchConditional (offset,condition) -> execute_BranchConditional (offset,condition) - | GenerateExceptionEL1 (imm) -> execute_GenerateExceptionEL1 (imm) - | GenerateExceptionEL2 (imm) -> execute_GenerateExceptionEL2 (imm) - | GenerateExceptionEL3 (imm) -> execute_GenerateExceptionEL3 (imm) - | DebugBreakpoint (comment) -> execute_DebugBreakpoint (comment) - | ExternalDebugBreakpoint -> execute_ExternalDebugBreakpoint () - | DebugSwitchToExceptionLevel (target_level) -> execute_DebugSwitchToExceptionLevel (target_level) - | MoveSystemImmediate (operand,field') -> execute_MoveSystemImmediate (operand,field') - | Hint (op) -> execute_Hint (op) - | ClearExclusiveMonitor (imm) -> execute_ClearExclusiveMonitor (imm) - | Barrier (op,domain,types) -> execute_Barrier (op,domain,types) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> execute_System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> execute_MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) - | ImplementationDefinedTestBeginEnd (isEnd) -> execute_ImplementationDefinedTestBeginEnd (isEnd) - | ImplementationDefinedStopFetching -> execute_ImplementationDefinedStopFetching () - | ImplementationDefinedThreadStart -> execute_ImplementationDefinedThreadStart () - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> execute_TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) - | BranchImmediate (branch_type,offset) -> execute_BranchImmediate (branch_type,offset) - | BranchRegister (n,branch_type) -> execute_BranchRegister (n,branch_type) - | ExceptionReturn -> execute_ExceptionReturn () - | DebugRestorePState -> execute_DebugRestorePState () - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> execute_LoadLiteral (t,memop,_signed,size,offset,datasize) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> execute_LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> execute_LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> execute_LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> execute_LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> execute_LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> execute_AddSubImmediate (d,n,datasize,sub_op,setflags,imm) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> execute_BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) - | ExtractRegister (d,n,m,datasize,lsb) -> execute_ExtractRegister (d,n,m,datasize,lsb) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> execute_LogicalImmediate (d,n,datasize,setflags,op,imm) - | MoveWide (d,datasize,imm,pos,opcode) -> execute_MoveWide (d,datasize,imm,pos,opcode) - | Address (d,page,imm) -> execute_Address (d,page,imm) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> execute_AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> execute_AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> execute_AddSubCarry (d,n,m,datasize,sub_op,setflags) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> execute_ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> execute_ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> execute_ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) - | Reverse (d,n,datasize,op) -> execute_Reverse (d,n,datasize,op) - | CountLeading (d,n,datasize,opcode) -> execute_CountLeading (d,n,datasize,opcode) - | Division (d,n,m,datasize,_unsigned) -> execute_Division (d,n,m,datasize,_unsigned) - | Shift (d,n,m,datasize,shift_type) -> execute_Shift (d,n,m,datasize,shift_type) - | CRC (d,n,m,size,crc32c) -> execute_CRC (d,n,m,size,crc32c) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> execute_MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> execute_MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> execute_MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> execute_LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) - end - diff --git a/aarch64_small/armV8_embed_sequential.lem b/aarch64_small/armV8_embed_sequential.lem deleted file mode 100644 index 21841fe1..00000000 --- a/aarch64_small/armV8_embed_sequential.lem +++ /dev/null @@ -1,5561 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import State -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed_sequential -let lsl' (n, m) = n * (pow (2:ii) m) - -let not_implemented message = exit message - -let not_implemented_extern message = exit message - -let info message = () - -let UNKNOWN = (0:ii) - -let M32_User = Vector [B1;B0;B0;B0;B0] 4 false - -let M32_FIQ = Vector [B1;B0;B0;B0;B1] 4 false - -let M32_IRQ = Vector [B1;B0;B0;B1;B0] 4 false - -let M32_Svc = Vector [B1;B0;B0;B1;B1] 4 false - -let M32_Monitor = Vector [B1;B0;B1;B1;B0] 4 false - -let M32_Abort = Vector [B1;B0;B1;B1;B1] 4 false - -let M32_Hyp = Vector [B1;B1;B0;B1;B0] 4 false - -let M32_Undef = Vector [B1;B1;B0;B1;B1] 4 false - -let M32_System = Vector [B1;B1;B1;B1;B1] 4 false - -let EL3 = Vector [B1;B1] 1 false - -let EL2 = Vector [B1;B0] 1 false - -let EL1 = Vector [B0;B1] 1 false - -let EL0 = Vector [B0;B0] 1 false - -let DebugHalt_Breakpoint = Vector [B0;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_EDBGRQ = Vector [B0;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_Step_Normal = Vector [B0;B1;B1;B0;B1;B1] 5 false - -let DebugHalt_Step_Exclusive = Vector [B0;B1;B1;B1;B1;B1] 5 false - -let DebugHalt_OSUnlockCatch = Vector [B1;B0;B0;B0;B1;B1] 5 false - -let DebugHalt_ResetCatch = Vector [B1;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_Watchpoint = Vector [B1;B0;B1;B0;B1;B1] 5 false - -let DebugHalt_HaltInstruction = Vector [B1;B0;B1;B1;B1;B1] 5 false - -let DebugHalt_SoftwareAccess = Vector [B1;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_ExceptionCatch = Vector [B1;B1;B0;B1;B1;B1] 5 false - -let DebugHalt_Step_NoSyndrome = Vector [B1;B1;B1;B0;B1;B1] 5 false - -let HighestSetBit x = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let result = (0:ii) in - let break = B0 in - let (break, result) = - (foreach_dec (N - (1:ii),(0:ii),(1:ii)) (break,result) - (fun i (break,result) -> - let (result, break) = - if bitU_to_bool - ((~break) &. - (eq - (match (access (set_vector_start_to_length x) i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii)))) - then - let result = i in - let break = B1 in - (result,break) - else (result,break) in - (break,result))) in - if bitU_to_bool break - then Just result - else Nothing - -let IsZero x = eq_vec_range (set_vector_start_to_length x, (0:ii)) - -let NOT x = - set_vector_start_to_length (bitwise_not (reset_vector_start (set_vector_start_to_length x))) - -let NOT' x = ~x - -let SInt x = signed (reset_vector_start (set_vector_start_to_length x)) - -let UInt x = unsigned (reset_vector_start (set_vector_start_to_length x)) - -let Zeros N' = set_vector_start_to_length (to_vec_dec (N',(0:ii))) - -let BitReverse data = - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let result = set_vector_start_to_length (to_vec_dec (length data,(0:ii))) in - (foreach_inc ((0:ii),N - (1:ii),(1:ii)) result - (fun i result -> - update_pos result ((N - i) - (1:ii)) (access (set_vector_start_to_length data) i))) - -let ELUsingAArch32 el = B0 - -let Hint_Yield () = () - -let SendEvent () = () - -let Unreachable () = assert' B0 (Just "Unreachable reached") - -let UsingAArch32 () = B0 - -let _Rs = - Vector ["R30";"R29";"R28";"R27";"R26";"R25";"R24";"R23";"R22";"R21";"R20";"R19";"R18";"R17";"R16";"R15";"R14";"R13";"R12";"R11";"R10"; - "R9";"R8";"R7";"R6";"R5";"R4";"R3";"R2";"R1";"R0"] 30 false - -let IMPLEMENTATION_DEFINED = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt = B1; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL = B0; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL2 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL3 = B0; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 = B0; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 = B0 |> - -let AArch64_ResetControlRegisters cold_reset = () - -let DCPSInstruction target_el = not_implemented "DCPSInstruction" - -let DRPSInstruction () = not_implemented "DRPSInstruction" - -let Halt reason = not_implemented "Halt" - -let Align' (x, y) = y * (quot x y) - -let CountLeadingZeroBits x = - match (HighestSetBit (reset_vector_start (set_vector_start_to_length x))) with - | Nothing -> length (reset_vector_start (set_vector_start_to_length x)) - | Just (n) -> ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) - n - end - -let IsZeroBit x = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length x))) - then B1 - else B0 - -let LSL_C (x, shift) = - let extended_x = - set_vector_start_to_length - ((set_vector_start_to_length x) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift)))) in - let result = - set_vector_start_to_length - (set_vector_start_to_length - (mask (length x,reset_vector_start (set_vector_start_to_length extended_x)))) in - let carry_out = - access (set_vector_start_to_length extended_x) (length - (reset_vector_start (set_vector_start_to_length - x))) in - (set_vector_start_to_length result,carry_out) - -let Min (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let uMin (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let Replicate (N', x) = - let (N, M) = - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))),length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec - (length - x, - (0:ii)))))) in - let _ = assert' (eq_range (modulo N M, (0:ii))) (Nothing) in - let result = set_vector_start_to_length (to_vec_dec (N',(0:ii))) in - let zeros = set_vector_start_to_length (Zeros ((length result) - (length x))) in - (foreach_inc (M,N,M) result - (fun i result -> - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (bitwise_leftshift (set_vector_start_to_length result, M)), - set_vector_start_to_length - ((set_vector_start_to_length zeros) ^^ (set_vector_start_to_length x)))))) - -let ZeroExtend (N', x) = - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length (Zeros (N' + ((length x) * ((0-1):ii)))))) ^^ - (set_vector_start_to_length x)) - -let Poly32Mod2 (data, poly) = - let result = set_vector_start_to_length data in - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let _ = assert' (gt (N, (32:ii))) (Nothing) in - let data' = set_vector_start_to_length data in - let zeros = set_vector_start_to_length (Zeros ((length data) - (32:ii))) in - let data' = - (foreach_dec (N - (1:ii),(32:ii),(1:ii)) data' - (fun i data' -> - if bitU_to_bool - (eq - (match (access (set_vector_start_to_length data') i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) - then - update - data' (i - (1:ii)) (0:ii) - (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length data') (i - (1:ii)) (0:ii)), - set_vector_start_to_length - ((set_vector_start_to_length poly) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length zeros) (i - (33:ii)) (0:ii))))))) - else data')) in - slice (set_vector_start_to_length data') (31:ii) (0:ii) - -let ClearExclusiveLocal processorid = - info "The model does not implement the exclusive monitors explicitly." - -let ProcessorID () = (0:ii) - -let rec BigEndianReverse value = - let width = length (reset_vector_start (set_vector_start_to_length value)) in - let half = quot width (2:ii) in - if bitU_to_bool (eq_range (width, (8:ii))) - then set_vector_start_to_length value - else - set_vector_start_to_length - ((set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (half - (1:ii)) (0:ii)))))) ^^ - (set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (width - (1:ii)) half)))))) - -let ClearEventRegister () = not_implemented_extern "ClearEventRegister" - -let EventRegisterSet () = not_implemented_extern "EventRegisterSet" - -let EventRegistered () = not_implemented_extern "EventRegistered" - -let InterruptPending () = not_implemented_extern "InterruptPending" - -let WaitForEvent () = not_implemented_extern "WaitForEvent" - -let WaitForInterrupt () = not_implemented_extern "WaitForInterrupt" - -let AArch64_SPAlignmentFault () = not_implemented "AArch64_SPAlignmentFault" - -let AArch64_SoftwareBreakpoint immediate = not_implemented "AArch64_SoftwareBreakpoint" - -let AArch64_CallHypervisor immediate = not_implemented "AArch64_CallHypervisor" - -let AArch64_CallSecureMonitor immediate = not_implemented "AArch64_CallSecureMonitor" - -let AArch64_CallSupervisor immediate = not_implemented "AArch64_CallSupervisor" - -let AArch64_SystemRegisterTrap (target_el, op0, op2, op1, crn, rt, crm, dir) = - not_implemented "AArch64_SystemRegisterTrap" - -let AArch64_UndefinedFault () = not_implemented "AArch64_UndefinedFault" - -let rPC () = read_reg _PC - -let AArch64_ExceptionReturn (new_pc, spsr) = not_implemented "AArch64_ExceptionReturn" - -let UInt_reg x = unsigned x - -let signalDBGEN () = not_implemented_extern "signalDBGEN" - -let signelNIDEN () = not_implemented_extern "signalNIDEN" - -let signalSPIDEN () = not_implemented_extern "signalSPIDEN" - -let signalDPNIDEN () = not_implemented_extern "signalSPNIDEN" - -let Halted () = - read_reg_field EDSCR "STATUS" >>= fun w__0 -> - read_reg_field EDSCR "STATUS" >>= fun w__1 -> - return (~((eq_vec - (set_vector_start_to_length w__0, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B0;B1] 5 false))) |. - (eq_vec - (set_vector_start_to_length w__1, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B1;B0] 5 false))))) - -let HaveCRCExt () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveCRCExt - -let ExclusiveMonitorsStatus () = - let _ = info "The model does not implement the exclusive monitors explicitly." in - not_implemented "ExclusiveMonitorsStatus should not be called" >> - return B0 - -let Hint_Branch hint = - info "This hint can be used for hardware optimization that has no effect on the model." - -let ResetExternalDebugRegisters b = not_implemented_extern "ResetExternalDebugRegisters" - -let HaveAnyAArch32 () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 - -let AArch64_WFxTrap (target_el, is_wfe) = not_implemented "AArch64_WFxTrap" - -let AArch64_CheckUnallocatedSystemAccess (op0, op1, crn, crm, op2, read) = - match (op0,op1,crn,crm,op2,read) with - | (Vector [B0;B0] _ _, Vector [B0;B0;B0] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B0;B1] _ _, _) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - return (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL1)) - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B0] _ _, _) -> - return B0 - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B1] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B0] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B1] _ _, _) -> - return B0 - end - -let SysOp_R (op0, op1, crn, crm, op2) = - not_implemented "SysOp_R" >> - return (to_vec_dec ((64:ii),(0:ii))) - -let SysOp_W (op0, op1, crn, crm, op2, _val) = not_implemented "SysOp_W" - -let TxNestingLevelfp = RFull "TxNestingLevel" - -let TXIDR_EL0_DEPTHfp = RField ("TXIDR_EL0","DEPTH") - -let PSTATE_Nfp = RField ("NZCV","N") - -let PSTATE_Zfp = RField ("NZCV","Z") - -let PSTATE_Cfp = RField ("NZCV","C") - -let PSTATE_Vfp = RField ("NZCV","V") - -let PSTATE_Dfp = RField ("DAIF","D") - -let PSTATE_Afp = RField ("DAIF","A") - -let PSTATE_Ifp = RField ("DAIF","I") - -let PSTATE_Ffp = RField ("DAIF","F") - -let PSTATE_ELfp = RFull "CurrentEL" - -let PSTATE_SPfp = RField ("SPSel","SP") - -let _PCfp = RFull "_PC" - -let Hint_Prefetch (addr, hint, target, stream) = () - -let AArch64_IsExclusiveVA (address, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let AArch64_MarkExclusiveVA (address, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let wPSTATE_NZCV ((), Vector [n;z;c;v] _ _) = - write_reg_bitfield NZCV "N" n >> - write_reg_bitfield NZCV "Z" z >> - write_reg_bitfield NZCV "C" c >> - write_reg_bitfield NZCV "V" v - -let wPSTATE_DAIF ((), Vector [d;a;i;f] _ _) = - write_reg_bitfield DAIF "D" d >> - write_reg_bitfield DAIF "A" a >> - write_reg_bitfield DAIF "I" i >> - write_reg_bitfield DAIF "F" f - -let Int (x, unsigned) = - if bitU_to_bool unsigned - then UInt (reset_vector_start (set_vector_start_to_length x)) - else SInt (reset_vector_start (set_vector_start_to_length x)) - -let ClearExclusiveByAddress (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let IsExclusiveGlobal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let IsExclusiveLocal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let MarkExclusiveGlobal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let MarkExclusiveLocal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let PAMax () = - let pa_size = (0:ii) in - read_reg_field ID_AA64MMFR0_EL1 "PARange" >>= fun w__0 -> - let pa_size = - match w__0 with - | Vector [B0;B0;B0;B0] _ _ -> (32:ii) - | Vector [B0;B0;B0;B1] _ _ -> (36:ii) - | Vector [B0;B0;B1;B0] _ _ -> (40:ii) - | Vector [B0;B0;B1;B1] _ _ -> (42:ii) - | Vector [B0;B1;B0;B0] _ _ -> (44:ii) - | Vector [B0;B1;B0;B1] _ _ -> (48:ii) - | _ -> pa_size - end in - return pa_size - -let AddWithCarry (x, y, carry_in) = - let unsigned_sum = - ((UInt (reset_vector_start (set_vector_start_to_length x))) + - (UInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let signed_sum = - ((SInt (reset_vector_start (set_vector_start_to_length x))) + - (SInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let result = set_vector_start_to_length (to_vec_dec (length x,unsigned_sum)) in - let n = - access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii)) in - let z = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length result))) - then B1 - else B0 in - let c = - if bitU_to_bool - (eq_range (UInt (reset_vector_start (set_vector_start_to_length result)), unsigned_sum)) - then B0 - else B1 in - let v = - if bitU_to_bool - (eq_range (SInt (reset_vector_start (set_vector_start_to_length result)), signed_sum)) - then B0 - else B1 in - (set_vector_start_to_length result,set_vector_start 3 - ((set_vector_start_to_length (Vector [n] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [z] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [c] 0 false)) ^^ - (set_vector_start_to_length (Vector [v] 0 false)))))))) - -let ConditionHolds _cond = - let result = B0 in - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> - read_reg_bitfield NZCV "Z" >>= fun w__0 -> - let result = eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B0;B1] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__1 -> - let result = eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__2 -> - let result = eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B1] _ _ -> - read_reg_bitfield NZCV "V" >>= fun w__3 -> - let result = eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B1;B0;B0] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__4 -> - read_reg_bitfield NZCV "Z" >>= fun w__5 -> - let result = - (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B0;B1] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__6 -> - read_reg_bitfield NZCV "V" >>= fun w__7 -> - let result = eq_bit (w__6, w__7) in - return result - | Vector [B1;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__8 -> - read_reg_bitfield NZCV "V" >>= fun w__9 -> - read_reg_bitfield NZCV "Z" >>= fun w__10 -> - let result = - (eq_bit (w__8, w__9)) &. (eq (match w__10 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B1;B1] _ _ -> return B1 - end >>= fun result -> - let result = - if bitU_to_bool - ((eq (match (access _cond (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length _cond, - set_vector_start_to_length (Vector [B1;B1;B1;B1] 3 false)))) - then ~result - else result in - return result - -let DecodeShift op = - match toNatural (unsigned (reset_vector_start op)) with - | (0:nn) -> ShiftType_LSL - | (1:nn) -> ShiftType_LSR - | (2:nn) -> ShiftType_ASR - | (3:nn) -> ShiftType_ROR - end - -let HaveEL el = - if bitU_to_bool - ((eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) |. - (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0))) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL3 - else - let _ = assert' B0 (Nothing) in - B0 - -let System_Put (op0, op1, crn, crm, op2, _val) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> write_reg NZCV (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> write_reg DAIF (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> write_reg TPIDR_EL0 (slice _val (63:ii) (0:ii)) - end - -let DataSynchronizationBarrier (domain, types) = - (if bitU_to_bool (neq (domain, MBReqDomain_FullSystem)) - then not_implemented "DataSynchronizationBarrier: not MBReqDomain_FullSystem" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataSynchronizationBarrier_Reads () - | MBReqTypes_Writes -> DataSynchronizationBarrier_Writes () - | MBReqTypes_All -> DataSynchronizationBarrier_All () - end - -let rELR el = - let r = to_vec_dec ((64:ii),(0:ii)) in - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) - then read_reg ELR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then read_reg ELR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then read_reg ELR_EL3 - else return r - -let DataMemoryBarrier (domain, types) = - (if bitU_to_bool - ((neq (domain, MBReqDomain_FullSystem)) &. (neq (domain, MBReqDomain_InnerShareable))) - then not_implemented "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataMemoryBarrier_Reads () - | MBReqTypes_Writes -> DataMemoryBarrier_Writes () - | MBReqTypes_All -> DataMemoryBarrier_All () - end - -let wMem_Addr (address, size, acctype, excl) = - match (excl,acctype) with - | (B0, AccType_NORMAL) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_STREAM) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_UNPRIV) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_ORDERED) -> wMem_Addr_ORDERED (reset_vector_start address,size) - | (B1, AccType_ATOMIC) -> wMem_Addr_ATOMIC (reset_vector_start address,size) - | (B1, AccType_ORDERED) -> wMem_Addr_ATOMIC_ORDERED (reset_vector_start address,size) - | _ -> not_implemented "unrecognised memory access" - end - -let SCTLR regime = - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL1)) - then SCTLR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL2)) - then SCTLR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL3)) - then SCTLR_EL3 - else - let _ = assert' B0 (Just "SCTLR_type unreachable") in - SCTLR_EL1 - -let DecodeRegExtend op = - match op with - | Vector [B0;B0;B0] _ _ -> ExtendType_UXTB - | Vector [B0;B0;B1] _ _ -> ExtendType_UXTH - | Vector [B0;B1;B0] _ _ -> ExtendType_UXTW - | Vector [B0;B1;B1] _ _ -> ExtendType_UXTX - | Vector [B1;B0;B0] _ _ -> ExtendType_SXTB - | Vector [B1;B0;B1] _ _ -> ExtendType_SXTH - | Vector [B1;B1;B0] _ _ -> ExtendType_SXTW - | Vector [B1;B1;B1] _ _ -> ExtendType_SXTX - end - -let rSP N' = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - read_reg SP_EL0 >>= fun w__1 -> - return (set_vector_start_to_length (mask (N',w__1))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg SP_EL0 >>= fun w__2 -> - return (set_vector_start_to_length (mask (N',w__2))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg SP_EL1 >>= fun w__3 -> - return (set_vector_start_to_length (mask (N',w__3))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg SP_EL2 >>= fun w__4 -> - return (set_vector_start_to_length (mask (N',w__4))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg SP_EL3 >>= fun w__5 -> - return (set_vector_start_to_length (mask (N',w__5))) - else - let _ = assert' B0 (Nothing) in - read_reg SP_EL3 >>= fun w__6 -> - return (set_vector_start_to_length (mask (N',w__6))) - -let rSPSR () = - let result = to_vec_dec ((32:ii),(0:ii)) in - if bitU_to_bool (UsingAArch32 ()) - then - not_implemented "rSPSR UsingAArch32" >> - return result - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then read_reg SPSR_EL1 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then read_reg SPSR_EL2 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then read_reg SPSR_EL3 - else return result - -let _R = - Vector [UndefinedRegister 0;R30;R29;R28;R27;R26;R25;R24;R23;R22;R21;R20;R19;R18;R17;R16;R15;R14;R13;R12;R11; - R10;R9;R8;R7;R6;R5;R4;R3;R2;R1;R0] 31 false - -let _V = - Vector [UndefinedRegister 0;V31;V30;V29;V28;V27;V26;V25;V24;V23;V22;V21;V20;V19;V18;V17;V16;V15;V14;V13;V12; - V11;V10;V9;V8;V7;V6;V5;V4;V3;V2;V1;V0] 32 false - -let ReservedValue () = AArch64_UndefinedFault () - -let UnallocatedEncoding () = AArch64_UndefinedFault () - -let CountLeadingSignBits x = - CountLeadingZeroBits - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) (1:ii)), - set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (2:ii)) (0:ii)))))) - -let LSR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (ZeroExtend ((length x) + shift,reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let Ones N' = - set_vector_start_to_length - (Replicate (N',reset_vector_start (set_vector_start_to_length (Vector [B1] 0 false)))) - -let SignExtend (N', ((Vector (h::_) _ _) as x)) = - let remainder = slice_raw x (1:ii) ((length (reset_vector_start x)) - (1:ii)) in - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length - (Replicate - (N' - (length x), - reset_vector_start (set_vector_start_to_length (Vector [h] 0 false)))))) ^^ - (set_vector_start_to_length x)) - -let supported_instructions instr = match instr with | _ -> Just instr end - -let LSL (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSL_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let ThisInstrAddr N' = - let N = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))) in - let _ = - assert' ((eq_range (N, (64:ii))) |. ((eq_range (N, (32:ii))) &. (UsingAArch32 ()))) (Nothing) in - rPC () >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let AArch64_Abort (vaddress, fault) = not_implemented "AArch64_Abort" - -let rV (N', n) = - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let rVpart (N', n, part) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (set_vector_start_to_length (mask (N',reset_vector_start (set_vector_start_to_length w__0))))) - else - let _ = - assert' (eq_range - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))), - (64:ii))) (Nothing) in - read_reg_range (access _V n) (127:ii) (64:ii) >>= fun w__1 -> - return (set_vector_start_to_length (set_vector_start 63 w__1)) - -let ExternalInvasiveDebugEnabled () = - signalDBGEN () >>= fun w__0 -> - return (eq (w__0, HIGH)) - -let Align (x, y) = - set_vector_start_to_length - (to_vec_dec (length x,Align' (UInt (reset_vector_start (set_vector_start_to_length x)),y))) - -let empty_read_buffer = - <| read_buffer_type_size = (0:ii); - read_buffer_type_acctype = AccType_NORMAL; - read_buffer_type_exclusive = B0; - read_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))) |> - -let empty_write_buffer = - <| write_buffer_type_size = (0:ii); - write_buffer_type_acctype = AccType_NORMAL; - write_buffer_type_exclusive = B0; - write_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))); - write_buffer_type_value = (to_vec_dec ((128:ii),(0:ii))) |> - -let HighestELUsingAArch32 () = - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 - -let rX (N', n) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - read_reg (access _R n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - else return (set_vector_start_to_length (Zeros N')) - -let rELR' () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - let _ = - assert' (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun w__1 -> - rELR (reset_vector_start (set_vector_start 1 w__1)) - -let rSPIFP = [RFull "SP_EL0";PSTATE_SPfp] - -let wSPFP = ([PSTATE_SPfp],[RFull "SP_EL0"]) - -let xFP n = if bitU_to_bool (neq_range (n, (31:ii))) then [RFull (access _Rs n)] else [] - -let BigEndianIFP = if bitU_to_bool (UsingAArch32 ()) then [RFull "PSTATE_E"] else [PSTATE_ELfp] - -let flush_write_buffer_exclusive write_buffer = - let _ = assert' write_buffer.write_buffer_type_exclusive (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_ATOMIC -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> - not_implemented "unrecognised memory access" >> - return B0 - end - -let AArch64_CreateFaultRecord (type', ipaddress, level, acctype, write, extflag, secondstage, s2fs1walk) = - <| FaultRecord_type' = type'; - FaultRecord_domain = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_debugmoe = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_ipaddress = ipaddress; - FaultRecord_level = level; - FaultRecord_acctype = acctype; - FaultRecord_write = write; - FaultRecord_extflag = extflag; - FaultRecord_secondstage = secondstage; - FaultRecord_s2fs1walk = s2fs1walk |> - -let flush_write_buffer write_buffer = - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, B0)) (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_NORMAL -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_STREAM -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_UNPRIV -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> not_implemented "unrecognised memory access" - end - -let System_Get (op0, op1, crn, crm, op2) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> - read_reg NZCV >>= fun w__0 -> - return (ZeroExtend ((64:ii),w__0)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> - read_reg DAIF >>= fun w__1 -> - return (ZeroExtend ((64:ii),w__1)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> read_reg TPIDR_EL0 - end - -let Prefetch (address, prfop) = - let hint = - match toNatural (0:ii) with - | (0:nn) -> Prefetch_READ - | (1:nn) -> Prefetch_WRITE - | (2:nn) -> Prefetch_EXEC - end in - let target = (0:ii) in - let stream = B0 in - let returnv = B0 in - let (returnv, hint) = - match (slice prfop (4:ii) (3:ii)) with - | Vector [B0;B0] _ _ -> - let hint = Prefetch_READ in - (returnv,hint) - | Vector [B0;B1] _ _ -> - let hint = Prefetch_EXEC in - (returnv,hint) - | Vector [B1;B0] _ _ -> - let hint = Prefetch_WRITE in - (returnv,hint) - | Vector [B1;B1] _ _ -> - let returnv = B1 in - (returnv,hint) - end in - let (target, stream) = - if bitU_to_bool (~returnv) - then - let target = unsigned (reset_vector_start (slice prfop (2:ii) (1:ii))) in - let stream = neq (match (access prfop (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - (target,stream) - else (target,stream) in - () - -let DoubleLockStatus () = - if bitU_to_bool (ELUsingAArch32 (reset_vector_start EL1)) - then - read_reg_bitfield DBGOSDLR "DLK" >>= fun w__0 -> - read_reg_bitfield DBGPRCR "CORENPDRQ" >>= fun w__1 -> - Halted () >>= fun w__2 -> - return ((eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__2))) - else - read_reg_bitfield OSDLR_EL1 "DLK" >>= fun w__3 -> - read_reg_bitfield DBGPRCR_EL1 "CORENPDRQ" >>= fun w__4 -> - Halted () >>= fun w__5 -> - return ((eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__5))) - -let wSP ((), value) = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - write_reg - SP_EL1 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - write_reg - SP_EL2 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - write_reg - SP_EL3 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return (assert' B0 (Nothing)) - -let decodeTMCommit () = Just (TMCommit) - -let decodeTMTest () = Just (TMTest) - -let decodeTMAbort ((Vector [R;_;_;_;_;_] _ _) as v__975) = - let imm5 = slice_raw v__975 (1:ii) (5:ii) in - Just (TMAbort (R,reset_vector_start imm5)) - -let wV (n, value) = - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - -let wVpart (n, part, value) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - else - let _ = - assert' (eq_range - (length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec (length value,(0:ii))))), - (64:ii))) (Nothing) in - write_reg_range (access _V n) (127:ii) (64:ii) (set_vector_start 127 value) - -let wX (n, value) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - write_reg - (access _R n) - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return () - -let decodeAdvSIMDLoadStoreMultiStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreMultiStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint1 machineCode = - not_implemented "decodeDataSIMDFPoint1" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint2 machineCode = - not_implemented "decodeDataSIMDFPoint2" >> - return (Just (Unallocated)) - -let AArch64_CheckForWFxTrap (target_el, is_wfe) = - let _ = assert' (HaveEL (reset_vector_start target_el)) (Nothing) in - let trap = B0 in - (if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL1)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCTLR_EL1 "nTWE" >>= fun w__0 -> - return (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCTLR_EL1 "nTWI" >>= fun w__1 -> - return (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__2 -> - let trap = eq (w__2, (0:ii)) in - return trap - else - if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL2)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield HCR_EL2 "TWE" >>= fun w__3 -> - return (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield HCR_EL2 "TWI" >>= fun w__4 -> - return (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__5 -> - let trap = eq (w__5, (1:ii)) in - return trap - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL3)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCR_EL3 "TWE" >>= fun w__6 -> - return (match w__6 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCR_EL3 "TWI" >>= fun w__7 -> - return (match w__7 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__8 -> - let trap = eq (w__8, (1:ii)) in - return trap - else - let _ = assert' B0 (Nothing) in - return trap) >>= fun trap -> - if bitU_to_bool trap - then AArch64_WFxTrap (reset_vector_start target_el,is_wfe) - else return () - -let wmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_write Write_exclusive) - | AccType_ORDERED -> return (IK_mem_write Write_exclusive_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_exclusive) - end - else - match acctype with - | AccType_NORMAL -> return (IK_mem_write Write_plain) - | AccType_STREAM -> return (IK_mem_write Write_plain) - | AccType_UNPRIV -> return (IK_mem_write Write_plain) - | AccType_ORDERED -> return (IK_mem_write Write_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_plain) - end - -let BranchTo (target, branch_type) = - let target' = set_vector_start_to_length target in - let _ = Hint_Branch branch_type in - (if bitU_to_bool - (eq_range (length (reset_vector_start (set_vector_start_to_length target)), (32:ii))) - then - let _ = assert' (UsingAArch32 ()) (Nothing) in - write_reg _PC (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length target))) >> - return target' - else - let _ = - assert' ((eq_range (length (reset_vector_start (set_vector_start_to_length target)), (64:ii))) &. - (~(UsingAArch32 ()))) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - (if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__0 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__1 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__2 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__3 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg_bitfield TCR_EL2 "TBI" >>= fun w__4 -> - let target' = - if bitU_to_bool (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg_bitfield TCR_EL3 "TBI" >>= fun w__5 -> - let target' = - if bitU_to_bool (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else return target') >>= fun target' -> - write_reg _PC target' >> - return target') >>= fun target' -> - return () - -let rmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_read Read_exclusive) - | AccType_ORDERED -> return (IK_mem_read Read_exclusive_acquire) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_read Read_exclusive) - end - else - return (match acctype with - | AccType_NORMAL -> IK_mem_read Read_plain - | AccType_ATOMIC -> IK_mem_read Read_plain - | AccType_STREAM -> IK_mem_read Read_stream - | AccType_UNPRIV -> IK_mem_read Read_plain - | AccType_ORDERED -> IK_mem_read Read_acquire - end) - -let decodeTMStart Rt = - let t = UInt_reg (reset_vector_start Rt) in - Just (TMStart t) - -let decodeAddSubtractWithCarry ((Vector [sf;op;S;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__969) = - let Rm = slice_raw v__969 (11:ii) (15:ii) in - let Rn = slice_raw v__969 (22:ii) (26:ii) in - let Rd = slice_raw v__969 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (AddSubCarry (d,n,m,datasize,sub_op,setflags)) - -let decodeConditionalCompareRegister ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__961) = - let Rm = slice_raw v__961 (11:ii) (15:ii) in - let _cond = slice_raw v__961 (16:ii) (19:ii) in - let Rn = slice_raw v__961 (22:ii) (26:ii) in - let nzcv = slice_raw v__961 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - Just (ConditionalCompareRegister (n,m,datasize,sub_op,reset_vector_start condition,reset_vector_start flags)) - -let decodeConditionalSelect ((Vector [sf;op;B0;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;B0;o2;_;_;_;_;_;_;_;_;_;_] _ _) as v__954) = - let Rm = slice_raw v__954 (11:ii) (15:ii) in - let _cond = slice_raw v__954 (16:ii) (19:ii) in - let Rn = slice_raw v__954 (22:ii) (26:ii) in - let Rd = slice_raw v__954 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let condition = set_vector_start 3 _cond in - let else_inv = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let else_inc = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (ConditionalSelect (d,n,m,datasize,reset_vector_start condition,else_inv,else_inc)) - -let BranchToFP (iR, oR) = - (if bitU_to_bool (UsingAArch32 ()) - then iR - else PSTATE_ELfp :: iR,_PCfp :: oR) - -let decodeImplementationDefined = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;isEnd] _ _) as v__920) -> - Just (ImplementationDefinedTestBeginEnd isEnd) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0] _ _) as v__932) -> - Just (ImplementationDefinedStopFetching) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B1] _ _) as v__943) -> - Just (ImplementationDefinedThreadStart) - end - -let NZCVfp = [PSTATE_Vfp;PSTATE_Cfp;PSTATE_Zfp;PSTATE_Nfp] - -let decodeConditionalCompareImmediate ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__912) = - let imm5 = slice_raw v__912 (11:ii) (15:ii) in - let _cond = slice_raw v__912 (16:ii) (19:ii) in - let Rn = slice_raw v__912 (22:ii) (26:ii) in - let nzcv = slice_raw v__912 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm5))) in - Just (ConditionalCompareImmediate (n,datasize,sub_op,reset_vector_start condition,reset_vector_start flags,reset_vector_start (set_vector_start_to_length - imm))) - -let decodeMoveWideImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__909) = - let opc = slice_raw v__909 (1:ii) (2:ii) in - let hw = slice_raw v__909 (9:ii) (10:ii) in - let imm16 = slice_raw v__909 (11:ii) (26:ii) in - let Rd = slice_raw v__909 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let imm = imm16 in - let pos = (0:ii) in - let opcode = - match toNatural (0:ii) with - | (0:nn) -> MoveWideOp_N - | (1:nn) -> MoveWideOp_Z - | (2:nn) -> MoveWideOp_K - end in - match opc with - | Vector [B0;B0] _ _ -> return MoveWideOp_N - | Vector [B1;B0] _ _ -> return MoveWideOp_Z - | Vector [B1;B1] _ _ -> return MoveWideOp_K - | _ -> - UnallocatedEncoding () >> - return opcode - end >>= fun opcode -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access hw (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length hw) ^^ - (set_vector_start_to_length (Vector [B0;B0;B0;B0] 3 false))))) in - return (Just (MoveWide (d,datasize,reset_vector_start imm,pos,opcode))) - -let decodeLoadStoreExclusive ((Vector [_;_;B0;B0;B1;B0;B0;B0;o2;L;o1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__903) = - let size = slice_raw v__903 (0:ii) (1:ii) in - let Rs = slice_raw v__903 (11:ii) (15:ii) in - let Rt2 = slice_raw v__903 (17:ii) (21:ii) in - let Rn = slice_raw v__903 (22:ii) (26:ii) in - let Rt = slice_raw v__903 (27:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let s = UInt_reg (reset_vector_start Rs) in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length (Vector [o2;o1;o0] 2 false), - set_vector_start_to_length (Vector [B1;B0;B0] 2 false))) |. - (eq_vec - (set_vector_start_to_length (Vector [o2;o1] 1 false), - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match (access size (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then UnallocatedEncoding () - else return ()) >> - let acctype = - if bitU_to_bool (eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AccType_ORDERED - else AccType_ATOMIC in - let excl = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let pair = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let elsize = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length size))) in - let regsize = if bitU_to_bool (eq_range (elsize, (64:ii))) then (64:ii) else (32:ii) in - let datasize = if bitU_to_bool pair then elsize * (2:ii) else elsize in - return (Just (LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))) - -let sharedDecodeLoadImmediate (opc, size, Rn, Rt, wback, postindex, scale, offset, acctype, prefetchAllowed) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - (if bitU_to_bool prefetchAllowed - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return memop - else - UnallocatedEncoding () >> - return memop) >>= fun memop -> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,reset_vector_start offset,regsize,datasize))) - -let sharedDecodeLoadRegister (Rn, Rt, Rm, opc, size, wback, postindex, scale, extend_type, shift) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let m = UInt_reg Rm in - let acctype = AccType_NORMAL in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize))) - -let ConditionHoldsIFP _cond = - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> [PSTATE_Zfp] - | Vector [B0;B0;B1] _ _ -> [PSTATE_Cfp] - | Vector [B0;B1;B0] _ _ -> [PSTATE_Nfp] - | Vector [B0;B1;B1] _ _ -> [PSTATE_Vfp] - | Vector [B1;B0;B0] _ _ -> [PSTATE_Zfp;PSTATE_Cfp] - | Vector [B1;B0;B1] _ _ -> [PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B0] _ _ -> [PSTATE_Zfp;PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B1] _ _ -> [] - end - -let decodeAddSubtractImmediate ((Vector [sf;op;S;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__898) = - let shift = slice_raw v__898 (8:ii) (9:ii) in - let imm12 = slice_raw v__898 (10:ii) (21:ii) in - let Rn = slice_raw v__898 (22:ii) (26:ii) in - let Rd = slice_raw v__898 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match shift with - | Vector [B0;B0] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm12))) in - return imm - | Vector [B0;B1] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend - (datasize, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm12) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii)))))))) in - return imm - | Vector [B1;_] _ _ -> - ReservedValue () >> - return imm - end >>= fun imm -> - return (Just (AddSubImmediate (d,n,datasize,sub_op,setflags,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeData3Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B1;B0;B0;B0;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__878) -> - let Rm = slice_raw v__878 (11:ii) (15:ii) in - let Ra = slice_raw v__878 (17:ii) (21:ii) in - let Rn = slice_raw v__878 (22:ii) (26:ii) in - let Rd = slice_raw v__878 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let datasize = destsize in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B0;B1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__884) -> - let Rm = slice_raw v__884 (11:ii) (15:ii) in - let Ra = slice_raw v__884 (17:ii) (21:ii) in - let Rn = slice_raw v__884 (22:ii) (26:ii) in - let Rd = slice_raw v__884 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = (32:ii) in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B1;B0;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__891) -> - let Rm = slice_raw v__891 (11:ii) (15:ii) in - let Ra = slice_raw v__891 (17:ii) (21:ii) in - let Rn = slice_raw v__891 (22:ii) (26:ii) in - let Rd = slice_raw v__891 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = destsize in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned)) - end - -let decodeExtract ((Vector [sf;B0;B0;B1;B0;B0;B1;B1;B1;N;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__872) = - let Rm = slice_raw v__872 (11:ii) (15:ii) in - let imms = slice_raw v__872 (16:ii) (21:ii) in - let Rn = slice_raw v__872 (22:ii) (26:ii) in - let Rd = slice_raw v__872 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let lsb = (0:ii) in - (if bitU_to_bool (neq_bit (N, sf)) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let lsb = UInt (reset_vector_start (set_vector_start_to_length imms)) in - return (Just (ExtractRegister (d,n,m,datasize,lsb))) - -let decodeAddSubtractExtendedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__865) = - let Rm = slice_raw v__865 (11:ii) (15:ii) in - let option_v = slice_raw v__865 (16:ii) (18:ii) in - let imm3 = slice_raw v__865 (19:ii) (21:ii) in - let Rn = slice_raw v__865 (22:ii) (26:ii) in - let Rd = slice_raw v__865 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = UInt (reset_vector_start (set_vector_start_to_length imm3)) in - (if bitU_to_bool (gt (shift, (4:ii))) - then ReservedValue () - else return ()) >> - return (Just (AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift))) - -let decodeAddSubtractShiftedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__859) = - let shift = slice_raw v__859 (8:ii) (9:ii) in - let Rm = slice_raw v__859 (11:ii) (15:ii) in - let imm6 = slice_raw v__859 (16:ii) (21:ii) in - let Rn = slice_raw v__859 (22:ii) (26:ii) in - let Rd = slice_raw v__859 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length shift, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - return (Just (AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount))) - -let decodeLogicalShiftedRegister ((Vector [sf;_;_;B0;B1;B0;B1;B0;_;_;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__855) = - let opc = slice_raw v__855 (1:ii) (2:ii) in - let shift = slice_raw v__855 (8:ii) (9:ii) in - let Rm = slice_raw v__855 (11:ii) (15:ii) in - let imm6 = slice_raw v__855 (16:ii) (21:ii) in - let Rn = slice_raw v__855 (22:ii) (26:ii) in - let Rd = slice_raw v__855 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - let invert = eq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) - -let decodeData1Source = function - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__840) -> - let opc = slice_raw v__840 (20:ii) (21:ii) in - let Rn = slice_raw v__840 (22:ii) (26:ii) in - let Rd = slice_raw v__840 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> RevOp_RBIT - | (1:nn) -> RevOp_REV16 - | (2:nn) -> RevOp_REV32 - | (3:nn) -> RevOp_REV64 - end in - match opc with - | Vector [B0;B0] _ _ -> return RevOp_RBIT - | Vector [B0;B1] _ _ -> return RevOp_REV16 - | Vector [B1;B0] _ _ -> return RevOp_REV32 - | Vector [B1;B1] _ _ -> - (if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then UnallocatedEncoding () - else return ()) >> - return RevOp_REV64 - end >>= fun op -> - return (Just (Reverse (d,n,datasize,op))) - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_] _ _) as v__847) -> - let Rn = slice_raw v__847 (22:ii) (26:ii) in - let Rd = slice_raw v__847 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let opcode = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then CountOp_CLZ - else CountOp_CLS in - return (Just (CountLeading (d,n,datasize,opcode))) - end - -let decodeUnconditionalBranchRegister = function - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B0;_;_;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__820) -> - let op = slice_raw v__820 (9:ii) (10:ii) in - let Rn = slice_raw v__820 (22:ii) (26:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let branch_type = - match toNatural (0:ii) with - | (0:nn) -> BranchType_CALL - | (1:nn) -> BranchType_ERET - | (2:nn) -> BranchType_DBGEXIT - | (3:nn) -> BranchType_RET - | (4:nn) -> BranchType_JMP - | (5:nn) -> BranchType_EXCEPTION - | (6:nn) -> BranchType_UNKNOWN - end in - match op with - | Vector [B0;B0] _ _ -> return BranchType_JMP - | Vector [B0;B1] _ _ -> return BranchType_CALL - | Vector [B1;B0] _ _ -> return BranchType_RET - | _ -> - UnallocatedEncoding () >> - return branch_type - end >>= fun branch_type -> - return (Just (BranchRegister (n,branch_type))) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__826) -> - return (Just (ExceptionReturn)) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B1;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__833) -> - return (Just (DebugRestorePState)) - end - -let decodeData2Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B0;B0;B1;o1;_;_;_;_;_;_;_;_;_;_] _ _) as v__800) -> - let Rm = slice_raw v__800 (11:ii) (15:ii) in - let Rn = slice_raw v__800 (22:ii) (26:ii) in - let Rd = slice_raw v__800 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let _unsigned = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return (Just (Division (d,n,m,datasize,_unsigned))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__807) -> - let Rm = slice_raw v__807 (11:ii) (15:ii) in - let op2 = slice_raw v__807 (20:ii) (21:ii) in - let Rn = slice_raw v__807 (22:ii) (26:ii) in - let Rd = slice_raw v__807 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 op2)) in - return (Just (Shift (d,n,m,datasize,shift_type))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B1;B0;C;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__813) -> - let Rm = slice_raw v__813 (11:ii) (15:ii) in - let sz = slice_raw v__813 (20:ii) (21:ii) in - let Rn = slice_raw v__813 (22:ii) (26:ii) in - let Rd = slice_raw v__813 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let size = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length sz))) in - let crc32c = eq (match C with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (CRC (d,n,m,size,crc32c))) - end - -let decodeExceptionGeneration = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B1] _ _) as v__771) -> - let imm16 = slice_raw v__771 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL1 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B0] _ _) as v__776) -> - let imm16 = slice_raw v__776 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL2 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B1] _ _) as v__781) -> - let imm16 = slice_raw v__781 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL3 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__786) -> - let imm16 = slice_raw v__786 (11:ii) (26:ii) in - let comment = imm16 in - return (Just (DebugBreakpoint (reset_vector_start comment))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__791) -> - let imm16 = slice_raw v__791 (11:ii) (26:ii) in - return (Just (ExternalDebugBreakpoint)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;_;_] _ _) as v__796) -> - let imm16 = slice_raw v__796 (11:ii) (26:ii) in - let LL = slice_raw v__796 (30:ii) (31:ii) in - let target_level = LL in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length LL, - set_vector_start_to_length (Vector [B0;B0] 1 false))) - then UnallocatedEncoding () - else return ()) >> - return (Just (DebugSwitchToExceptionLevel (reset_vector_start target_level))) - end - -let decodeSystem = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;B0;B1;B0;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__706) -> - let op1 = slice_raw v__706 (13:ii) (15:ii) in - let CRm = slice_raw v__706 (20:ii) (23:ii) in - let op2 = slice_raw v__706 (24:ii) (26:ii) in - let operand = set_vector_start 3 CRm in - let field' = - match toNatural (0:ii) with - | (0:nn) -> PSTATEField_DAIFSet - | (1:nn) -> PSTATEField_DAIFClr - | (2:nn) -> PSTATEField_SP - end in - match ((set_vector_start_to_length op1) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B1;B0;B1] _ _) as v__712) -> return PSTATEField_SP - | ((Vector [B0;B1;B1;B1;B1;B0] _ _) as v__715) -> return PSTATEField_DAIFSet - | ((Vector [B0;B1;B1;B1;B1;B1] _ _) as v__718) -> return PSTATEField_DAIFClr - | _ -> - UnallocatedEncoding () >> - return field' - end >>= fun field' -> - return (Just (MoveSystemImmediate (reset_vector_start operand,field'))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__721) -> - let CRm = slice_raw v__721 (20:ii) (23:ii) in - let op2 = slice_raw v__721 (24:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> SystemHintOp_NOP - | (1:nn) -> SystemHintOp_YIELD - | (2:nn) -> SystemHintOp_WFE - | (3:nn) -> SystemHintOp_WFI - | (4:nn) -> SystemHintOp_SEV - | (5:nn) -> SystemHintOp_SEVL - end in - let op = - match ((set_vector_start_to_length CRm) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B0;B0;B0;B0] _ _) as v__728) -> SystemHintOp_NOP - | ((Vector [B0;B0;B0;B0;B0;B0;B1] _ _) as v__731) -> SystemHintOp_YIELD - | ((Vector [B0;B0;B0;B0;B0;B1;B0] _ _) as v__734) -> SystemHintOp_WFE - | ((Vector [B0;B0;B0;B0;B0;B1;B1] _ _) as v__737) -> SystemHintOp_WFI - | ((Vector [B0;B0;B0;B0;B1;B0;B0] _ _) as v__740) -> SystemHintOp_SEV - | ((Vector [B0;B0;B0;B0;B1;B0;B1] _ _) as v__743) -> SystemHintOp_SEVL - | _ -> SystemHintOp_NOP - end in - return (Just (Hint op)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B0;B1;B0;B1;B1;B1;B1;B1] _ _) as v__746) -> - let CRm = slice_raw v__746 (20:ii) (23:ii) in - let imm = unsigned (reset_vector_start CRm) in - return (Just (ClearExclusiveMonitor imm)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B1;_;_;B1;B1;B1;B1;B1] _ _) as v__754) -> - let CRm = slice_raw v__754 (20:ii) (23:ii) in - let opc = slice_raw v__754 (25:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> MemBarrierOp_DSB - | (1:nn) -> MemBarrierOp_DMB - | (2:nn) -> MemBarrierOp_ISB - end in - let domain = - match toNatural (0:ii) with - | (0:nn) -> MBReqDomain_Nonshareable - | (1:nn) -> MBReqDomain_InnerShareable - | (2:nn) -> MBReqDomain_OuterShareable - | (3:nn) -> MBReqDomain_FullSystem - end in - let types = - match toNatural (0:ii) with - | (0:nn) -> MBReqTypes_Reads - | (1:nn) -> MBReqTypes_Writes - | (2:nn) -> MBReqTypes_All - end in - match opc with - | Vector [B0;B0] _ _ -> return MemBarrierOp_DSB - | Vector [B0;B1] _ _ -> return MemBarrierOp_DMB - | Vector [B1;B0] _ _ -> return MemBarrierOp_ISB - | _ -> - UnallocatedEncoding () >> - return op - end >>= fun op -> - let domain = - match (slice CRm (3:ii) (2:ii)) with - | Vector [B0;B0] _ _ -> MBReqDomain_OuterShareable - | Vector [B0;B1] _ _ -> MBReqDomain_Nonshareable - | Vector [B1;B0] _ _ -> MBReqDomain_InnerShareable - | Vector [B1;B1] _ _ -> MBReqDomain_FullSystem - end in - let (domain, types) = - match (slice CRm (1:ii) (0:ii)) with - | Vector [B0;B1] _ _ -> - let types = MBReqTypes_Reads in - (domain,types) - | Vector [B1;B0] _ _ -> - let types = MBReqTypes_Writes in - (domain,types) - | Vector [B1;B1] _ _ -> - let types = MBReqTypes_All in - (domain,types) - | _ -> - let types = MBReqTypes_All in - let domain = MBReqDomain_FullSystem in - (domain,types) - end in - return (Just (Barrier (op,domain,types))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__762) -> - let op1 = slice_raw v__762 (13:ii) (15:ii) in - let CRn = slice_raw v__762 (16:ii) (19:ii) in - let CRm = slice_raw v__762 (20:ii) (23:ii) in - let op2 = slice_raw v__762 (24:ii) (26:ii) in - let Rt = slice_raw v__762 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = (1:ii) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let has_result = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B1;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__766) -> - let op1 = slice_raw v__766 (13:ii) (15:ii) in - let CRn = slice_raw v__766 (16:ii) (19:ii) in - let CRm = slice_raw v__766 (20:ii) (23:ii) in - let op2 = slice_raw v__766 (24:ii) (26:ii) in - let Rt = slice_raw v__766 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = - (2:ii) + (UInt (reset_vector_start (set_vector_start_to_length (Vector [o0] 0 false)))) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let read = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read))) - end - -let ASR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (SignExtend (shift + (length x),reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let ASR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ASR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let LSR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let AArch64_ResetGeneralRegisters () = - (foreachM_inc ((0:ii),(30:ii),(1:ii)) () - (fun i _ -> - wX (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),UNKNOWN)))))) - -let AArch64_ResetSIMDFPRegisters () = - (foreachM_inc ((0:ii),(31:ii),(1:ii)) () - (fun i _ -> - wV (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((128:ii),UNKNOWN)))))) - -let wMem'IFP = BigEndianIFP - -let IsFault addrdesc = neq (addrdesc.AddressDescriptor_fault.FaultRecord_type', Fault_None) - -let Extend (N', x, unsigned) = - if bitU_to_bool unsigned - then - set_vector_start_to_length (ZeroExtend (N',reset_vector_start (set_vector_start_to_length x))) - else - set_vector_start_to_length (SignExtend (N',reset_vector_start (set_vector_start_to_length x))) - -let _rMem (read_buffer, desc, size, acctype, exclusive) = - if bitU_to_bool (eq_range (read_buffer.read_buffer_type_size, (0:ii))) - then - <| read_buffer_type_acctype = acctype; - read_buffer_type_exclusive = exclusive; - read_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - read_buffer_type_size = size |> - else - let _ = assert' (eq (read_buffer.read_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (read_buffer.read_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - read_buffer.read_buffer_type_address)) - read_buffer.read_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|read_buffer with read_buffer_type_size = (read_buffer.read_buffer_type_size + size)|> - -let CheckSPAlignmentIFP = PSTATE_ELfp :: rSPIFP - -let SCR_GEN () = - let _ = assert' (HaveEL (reset_vector_start EL3)) (Nothing) in - if bitU_to_bool (HighestELUsingAArch32 ()) - then SCR - else SCR_EL3 - -let AArch64_AlignmentFault (acctype, iswrite, secondstage) = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let s2fs1walk = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - AArch64_CreateFaultRecord - (Fault_Alignment, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let AArch64_NoFault () = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let acctype = AccType_NORMAL in - let iswrite = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let secondstage = B0 in - let s2fs1walk = B0 in - AArch64_CreateFaultRecord - (Fault_None, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let decodeConditionalBranchImmediate ((Vector [B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;_;_;_;_] _ _) as v__702) = - let imm19 = slice_raw v__702 (8:ii) (26:ii) in - let _cond = slice_raw v__702 (28:ii) (31:ii) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let condition = set_vector_start 3 _cond in - Just (BranchConditional (reset_vector_start offset,reset_vector_start condition)) - -let _wMem (write_buffer, desc, size, acctype, exclusive, value) = - if bitU_to_bool (eq_range (write_buffer.write_buffer_type_size, (0:ii))) - then - <| write_buffer_type_acctype = acctype; - write_buffer_type_exclusive = exclusive; - write_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - write_buffer_type_value = - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))); - write_buffer_type_size = size |> - else - let _ = assert' (eq (write_buffer.write_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - write_buffer.write_buffer_type_address)) - write_buffer.write_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|write_buffer with - write_buffer_type_value = - (ZeroExtend - ((128:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length value) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii))))))); write_buffer_type_size = - (write_buffer.write_buffer_type_size + size)|> - -let HaveAArch32EL el = - if bitU_to_bool (~(HaveEL (reset_vector_start el))) - then B0 - else - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else - if bitU_to_bool (HighestELUsingAArch32 ()) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0)) - then B1 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAArch32EL - -let decodeUnconditionalBranchImmediate ((Vector [op;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__699) = - let imm26 = slice_raw v__699 (6:ii) (31:ii) in - let branch_type = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then BranchType_CALL - else BranchType_JMP in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm26) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (BranchImmediate (branch_type,reset_vector_start offset)) - -let decodeCompareBranchImmediate ((Vector [sf;B0;B1;B1;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__695) = - let imm19 = slice_raw v__695 (8:ii) (26:ii) in - let Rt = slice_raw v__695 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let iszero = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (CompareAndBranch (t,datasize,iszero,reset_vector_start offset)) - -let decodePCRelAddressing ((Vector [op;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__692) = - let immlo = slice_raw v__692 (1:ii) (2:ii) in - let immhi = slice_raw v__692 (8:ii) (26:ii) in - let Rd = slice_raw v__692 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let page = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = to_vec_dec ((64:ii),(0:ii)) in - let imm = - if bitU_to_bool page - then - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length immlo) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii))))))))) - else - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ (set_vector_start_to_length immlo)))) in - Just (Address (d,page,reset_vector_start imm)) - -let decodeTestBranchImmediate ((Vector [b5;B0;B1;B1;B0;B1;B1;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__688) = - let b40 = slice_raw v__688 (8:ii) (12:ii) in - let imm14 = slice_raw v__688 (13:ii) (26:ii) in - let Rt = slice_raw v__688 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match b5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let bit_pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [b5] 0 false)) ^^ (set_vector_start_to_length b40)))) in - let bit_val = op in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm14) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (TestBitAndBranch (t,datasize,bit_pos,bit_val,reset_vector_start offset)) - -let decodeLoadStoreRegisterRegisterOffset ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;S;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__681) = - let size = slice_raw v__681 (0:ii) (1:ii) in - let opc = slice_raw v__681 (8:ii) (9:ii) in - let Rm = slice_raw v__681 (11:ii) (15:ii) in - let option_v = slice_raw v__681 (16:ii) (18:ii) in - let Rn = slice_raw v__681 (22:ii) (26:ii) in - let Rt = slice_raw v__681 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - (if bitU_to_bool - (eq - (match (access (set_vector_start_to_length option_v) (1:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) - then UnallocatedEncoding () - else return ()) >> - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = - if bitU_to_bool (eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then scale - else (0:ii) in - sharedDecodeLoadRegister - (reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rm, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - wback, - postindex, - scale, - extend_type, - shift) - -let decodeLoadRegisterLiteral ((Vector [_;_;B0;B1;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__677) = - let opc = slice_raw v__677 (0:ii) (1:ii) in - let imm19 = slice_raw v__677 (8:ii) (26:ii) in - let Rt = slice_raw v__677 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let memop = MemOp_LOAD in - let _signed = B0 in - let size = (0:ii) in - let offset = to_vec_dec ((64:ii),(4:ii)) in - let (memop, _signed, size) = - match opc with - | Vector [B0;B0] _ _ -> - let size = (4:ii) in - (memop,_signed,size) - | Vector [B0;B1] _ _ -> - let size = (8:ii) in - (memop,_signed,size) - | Vector [B1;B0] _ _ -> - let size = (4:ii) in - let _signed = B1 in - (memop,_signed,size) - | Vector [B1;B1] _ _ -> - let memop = MemOp_PREFETCH in - (memop,_signed,size) - end in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let datasize = size * (8:ii) in - Just (LoadLiteral (t,memop,_signed,size,reset_vector_start offset,datasize)) - -let ROR_C (x, shift) = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let m = modulo shift N in - let result = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (LSR (reset_vector_start (set_vector_start_to_length x),m)), - set_vector_start_to_length (LSL (reset_vector_start (set_vector_start_to_length x),N - m)))) in - let carry_out = access (set_vector_start_to_length result) (N - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let decodeSystemImplementationDefined machineCode = - match machineCode with - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__647) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__657) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__667) -> - decodeSystem (reset_vector_start machineCode) - end - -let decodeLoadStoreRegisterImmediatePostIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__641) = - let size = slice_raw v__641 (0:ii) (1:ii) in - let opc = slice_raw v__641 (8:ii) (9:ii) in - let imm9 = slice_raw v__641 (11:ii) (19:ii) in - let Rn = slice_raw v__641 (22:ii) (26:ii) in - let Rt = slice_raw v__641 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterImmediatePreIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__635) = - let size = slice_raw v__635 (0:ii) (1:ii) in - let opc = slice_raw v__635 (8:ii) (9:ii) in - let imm9 = slice_raw v__635 (11:ii) (19:ii) in - let Rn = slice_raw v__635 (22:ii) (26:ii) in - let Rt = slice_raw v__635 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterUnprivileged ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__629) = - let size = slice_raw v__629 (0:ii) (1:ii) in - let opc = slice_raw v__629 (8:ii) (9:ii) in - let imm9 = slice_raw v__629 (11:ii) (19:ii) in - let Rn = slice_raw v__629 (22:ii) (26:ii) in - let Rt = slice_raw v__629 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_UNPRIV, - B0) - -let decodeLoadStoreRegisterUnscaledImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__623) = - let size = slice_raw v__623 (0:ii) (1:ii) in - let opc = slice_raw v__623 (8:ii) (9:ii) in - let imm9 = slice_raw v__623 (11:ii) (19:ii) in - let Rn = slice_raw v__623 (22:ii) (26:ii) in - let Rt = slice_raw v__623 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreRegisterUnsignedImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__619) = - let size = slice_raw v__619 (0:ii) (1:ii) in - let opc = slice_raw v__619 (8:ii) (9:ii) in - let imm12 = slice_raw v__619 (10:ii) (21:ii) in - let Rn = slice_raw v__619 (22:ii) (26:ii) in - let Rt = slice_raw v__619 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm12)))), - scale) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreNoAllocatePairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B0;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__614) = - let opc = slice_raw v__614 (0:ii) (1:ii) in - let imm7 = slice_raw v__614 (10:ii) (16:ii) in - let Rt2 = slice_raw v__614 (17:ii) (21:ii) in - let Rn = slice_raw v__614 (22:ii) (26:ii) in - let Rt = slice_raw v__614 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let acctype = AccType_STREAM in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - (if bitU_to_bool (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm7)))), - scale) in - return (Just (LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,reset_vector_start offset))) - -let sharedDecodeLoadStorePair (L, opc, imm7, Rn, Rt, Rt2, wback, postindex) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let t2 = UInt_reg Rt2 in - let acctype = AccType_NORMAL in - let memop = if bitU_to_bool (eq (L, (1:ii))) then MemOp_LOAD else MemOp_STORE in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length - (Vector [if bitU_to_bool (is_one L) then B1 else B0;access opc (0:ii)] 1 false), - set_vector_start_to_length (Vector [B0;B1] 1 false))) |. - (eq_vec - (set_vector_start_to_length opc, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let _signed = neq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length (SignExtend ((64:ii),reset_vector_start imm7))), - scale) in - return (Just (LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,reset_vector_start offset))) - -let decodeDataRegister machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__484) -> - decodeLogicalShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__497) -> - decodeAddSubtractShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__510) -> - decodeAddSubtractExtendedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__523) -> - return (decodeAddSubtractWithCarry - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__536) -> - return (decodeConditionalCompareRegister (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__549) -> - return (decodeConditionalCompareImmediate (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__562) -> - return (decodeConditionalSelect (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__575) -> - return (decodeData3Source (reset_vector_start machineCode)) - | ((Vector [_;B0;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__588) -> - decodeData2Source (reset_vector_start machineCode) - | ((Vector [_;B1;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__601) -> - decodeData1Source (reset_vector_start machineCode) - end - -let ROR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ROR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let wMemIFP = wMem'IFP - -let decodeLoadStoreRegisterPairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B1;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__479) = - let opc = slice_raw v__479 (0:ii) (1:ii) in - let imm7 = slice_raw v__479 (10:ii) (16:ii) in - let Rt2 = slice_raw v__479 (17:ii) (21:ii) in - let Rn = slice_raw v__479 (22:ii) (26:ii) in - let Rt = slice_raw v__479 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPostIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B0;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__474) = - let opc = slice_raw v__474 (0:ii) (1:ii) in - let imm7 = slice_raw v__474 (10:ii) (16:ii) in - let Rt2 = slice_raw v__474 (17:ii) (21:ii) in - let Rn = slice_raw v__474 (22:ii) (26:ii) in - let Rt = slice_raw v__474 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPreIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B1;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__469) = - let opc = slice_raw v__469 (0:ii) (1:ii) in - let imm7 = slice_raw v__469 (10:ii) (16:ii) in - let Rt2 = slice_raw v__469 (17:ii) (21:ii) in - let Rn = slice_raw v__469 (22:ii) (26:ii) in - let Rt = slice_raw v__469 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let IsSecureBelowEL3 () = - if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - read_reg_bitfield (SCR_GEN ()) "NS" >>= fun w__0 -> - return (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - else - return (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3) - -let AArch64_ResetSpecialRegisters () = - write_reg SP_EL0 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SP_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL1 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then - write_reg SP_EL2 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL2 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL2 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg SP_EL3 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL3 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL3 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - let _ = - if bitU_to_bool (HaveAArch32EL (reset_vector_start EL1)) - then - let SPSR_fiq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_irq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_abt = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_und = to_vec_dec ((32:ii),UNKNOWN) in - () - else () in - let DLR_EL0 = to_vec_dec ((64:ii),UNKNOWN) in - let DSPSR_EL0 = to_vec_dec ((32:ii),UNKNOWN) in - return () - -let DecodeBitMasks (M', immN, imms, immr, immediate) = - let M = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (M',(0:ii))))) in - let levels = to_vec_dec ((6:ii),(0:ii)) in - let len = - match (HighestSetBit - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [immN] 0 false)) ^^ - (set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length imms)))))))) with - | Nothing -> - let _ = assert' B0 (Just "DecodeBitMasks: HighestSetBit returned None") in - (0:ii) - | Just (c) -> c - end in - (if bitU_to_bool (lt (len, (1:ii))) - then ReservedValue () - else return ()) >> - let _ = assert' (gteq (M, lsl' ((1:ii),len))) (Nothing) in - let levels = - ZeroExtend - ((6:ii), - reset_vector_start (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B1] 0 false), len)))) in - (if bitU_to_bool - (immediate &. - (eq_vec - (set_vector_start_to_length - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)), - set_vector_start_to_length levels))) - then ReservedValue () - else return ()) >> - let S = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)) in - let R = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length immr, set_vector_start_to_length levels)) in - let diff = - set_vector_start 5 - (minus_VVV - (reset_vector_start (set_vector_start_to_length S)) - (reset_vector_start (set_vector_start_to_length R))) in - let esize = lsl' ((1:ii),len) in - let d = set_vector_start 5 (slice diff (len - (1:ii)) (0:ii)) in - let welem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length S)) (1:ii)))))) in - let telem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length d)) (1:ii)))))) in - let wmask = - Replicate - (M', - reset_vector_start (set_vector_start_to_length - (ROR - (reset_vector_start (set_vector_start_to_length welem), - unsigned (reset_vector_start R))))) in - let tmask = Replicate (M',reset_vector_start (set_vector_start_to_length telem)) in - return (set_vector_start_to_length wmask,set_vector_start_to_length tmask) - -let AArch64_TranslateAddress (vaddress, acctype, iswrite, wasaligned, size) = - let _ = - info - "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)." in - <| AddressDescriptor_fault = (AArch64_NoFault ()); - AddressDescriptor_memattrs = - (<| MemoryAttributes_type' = MemType_Normal; - MemoryAttributes_shareable = B1 |>); - AddressDescriptor_paddress = - (<| FullAddress_physicaladdress = vaddress; - FullAddress_NS = B1 |>) |> - -let ExtendReg (N', _reg, type', shift) = - rX (N',_reg) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let _unsigned = B0 in - let len = (0:ii) in - let (_unsigned, len) = - match type' with - | ExtendType_SXTB -> - let _unsigned = B0 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_SXTH -> - let _unsigned = B0 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_SXTW -> - let _unsigned = B0 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_SXTX -> - let _unsigned = B0 in - let len = (64:ii) in - (_unsigned,len) - | ExtendType_UXTB -> - let _unsigned = B1 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_UXTH -> - let _unsigned = B1 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_UXTW -> - let _unsigned = B1 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_UXTX -> - let _unsigned = B1 in - let len = (64:ii) in - (_unsigned,len) - end in - let len = uMin (len,(length (reset_vector_start (set_vector_start_to_length _val))) - shift) in - return (set_vector_start_to_length - (Extend - (length _val, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length - (slice (set_vector_start_to_length _val) (len - (1:ii)) (0:ii))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift))))), - _unsigned))) - -let ShiftReg (N', _reg, type', amount) = - rX (N',_reg) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - match type' with - | ShiftType_LSL -> - set_vector_start_to_length - (LSL (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_LSR -> - set_vector_start_to_length - (LSR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ASR -> - set_vector_start_to_length - (ASR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ROR -> - set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length result),amount)) - end in - return (set_vector_start_to_length result) - -let initial_analysis instr = - let iR = [] in - let oR = [] in - let aR = [] in - let Nias = [NIAFP_successor] in - let Dia = DIAFP_none in - let ik = IK_simple in - match instr with - | TMStart (t) -> - let iR = TxNestingLevelfp :: TXIDR_EL0_DEPTHfp :: iR in - let oR = TxNestingLevelfp :: (oR ++ (xFP t)) in - let ik = IK_trans Transaction_start in - return (aR,Nias,iR,oR,ik) - | TMCommit -> - let iR = TxNestingLevelfp :: iR in - let oR = TxNestingLevelfp :: oR in - let ik = IK_trans Transaction_commit in - return (aR,Nias,iR,oR,ik) - | TMAbort (retry,reason) -> - let iR = TxNestingLevelfp :: iR in - let ik = IK_trans Transaction_abort in - return (aR,Nias,iR,oR,ik) - | TMTest -> - let iR = TxNestingLevelfp :: iR in - let oR = (RFull "NZCV") :: oR in - return (aR,Nias,iR,oR,ik) - | CompareAndBranch (t,datasize,iszero,offset) -> - let iR = iR ++ (xFP t) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v0v', v1v') -> (v0v',v1v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__0 -> - let nia' = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let Nias = [NIAFP_concrete_address (reset_vector_start nia');NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchConditional (offset,condition) -> - let iR = iR ++ (ConditionHoldsIFP (reset_vector_start condition)) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v2v', v3v') -> (v2v',v3v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__1 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL1 (imm) -> - not_implemented "GenerateExceptionEL1" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL2 (imm) -> - not_implemented "GenerateExceptionEL2" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL3 (imm) -> - not_implemented "GenerateExceptionEL3" >> - return (aR,Nias,iR,oR,ik) - | DebugBreakpoint (comment) -> - not_implemented "DebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | ExternalDebugBreakpoint -> - not_implemented "ExternalDebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | DebugSwitchToExceptionLevel (target_level) -> - not_implemented "DebugSwitchToExceptionLevel" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemImmediate (operand,field') -> - let (iR, oR) = - match field' with - | PSTATEField_SP -> - let oR = PSTATE_SPfp :: oR in - (iR,oR) - | PSTATEField_DAIFSet -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - | PSTATEField_DAIFClr -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - end in - return (aR,Nias,iR,oR,ik) - | Hint (op) -> - match op with - | SystemHintOp_YIELD -> return () - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__2 -> - if bitU_to_bool w__2 - then return () - else not_implemented "Hint(SystemHintOp_WFE);" - | SystemHintOp_WFI -> not_implemented "Hint(SystemHintOp_WFI);" - | SystemHintOp_SEV -> return () - | SystemHintOp_SEVL -> not_implemented "Hint(SystemHintOp_SEVL);" - | _ -> return () - end >> - return (aR,Nias,iR,oR,ik) - | ClearExclusiveMonitor (imm) -> return (aR,Nias,iR,oR,ik) - | Barrier (op,domain,types) -> - let ik = - match op with - | MemBarrierOp_DSB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DSB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DSB_ST - | MBReqTypes_All -> IK_barrier Barrier_DSB - end - | MemBarrierOp_DMB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DMB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DMB_ST - | MBReqTypes_All -> IK_barrier Barrier_DMB - end - | MemBarrierOp_ISB -> IK_barrier Barrier_ISB - end in - return (aR,Nias,iR,oR,ik) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> - let oR = oR ++ (xFP t) in - not_implemented "System" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> - let (oR, iR) = - if bitU_to_bool read - then - let oR = oR ++ (xFP t) in - let iR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: iR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: iR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: iR - end in - (oR,iR) - else - let iR = iR ++ (xFP t) in - let oR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: oR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: oR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: oR - end in - (oR,iR) in - return (aR,Nias,iR,oR,ik) - | ImplementationDefinedTestBeginEnd (isEnd) -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedStopFetching -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedThreadStart -> return (aR,Nias,iR,oR,ik) - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> - let iR = (xFP t) ++ iR in - let (i, o) = match (BranchToFP (iR,oR)) with | (v4v', v5v') -> (v4v',v5v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__3 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__3)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchImmediate (branch_type,offset) -> - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v6v', v7v') -> (v6v',v7v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__4 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__4)) - (reset_vector_start (set_vector_start_to_length offset)))))] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchRegister (n,branch_type) -> - let iR = iR ++ (xFP n) in - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v8v', v9v') -> (v8v',v9v') end in - let iR = i in - let oR = o in - let Nias = - if bitU_to_bool (eq_range (n, (31:ii))) - then [NIAFP_concrete_address (reset_vector_start (to_vec_dec ((64:ii),(0:ii))))] - else [NIAFP_indirect_address] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | ExceptionReturn -> - not_implemented "ExceptionReturn" >> - return (aR,Nias,iR,oR,ik) - | DebugRestorePState -> - not_implemented "DebugRestorePState" >> - return (aR,Nias,iR,oR,ik) - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> - let iR = _PCfp :: iR in - let oR = (xFP t) ++ oR in - let aR = _PCfp :: aR in - let (aR, ik) = - match memop with - | MemOp_LOAD -> - let ik = IK_mem_read Read_plain in - (aR,ik) - | MemOp_PREFETCH -> - let ik = IK_simple in - let aR = [] in - (aR,ik) - end in - return (aR,Nias,iR,oR,ik) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> - let rt_unknown = B0 in - let rn_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let (iR, aR) = - if bitU_to_bool rn_unknown - then (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - (iR,aR) in - match memop with - | MemOp_STORE -> - let iR = - if bitU_to_bool rt_unknown - then iR - else if bitU_to_bool pair then (xFP t) ++ ((xFP t2) ++ iR) else (xFP t) ++ iR in - (if bitU_to_bool excl - then - let iR = iR ++ wMemIFP in - let oR = (xFP s) ++ oR in - wmem_kind (acctype,B1) >>= fun w__5 -> - let ik = w__5 in - return (iR,oR,ik) - else - let iR = iR ++ wMemIFP in - wmem_kind (acctype,B0) >>= fun w__6 -> - let ik = w__6 in - return (iR,oR,ik)) >>= fun (iR, oR, ik) -> - return (aR,iR,oR,ik) - | MemOp_LOAD -> - (if bitU_to_bool pair - then - let (iR, oR) = - if bitU_to_bool rt_unknown - then - let oR = (xFP t) ++ oR in - (iR,oR) - else - let (iR, oR) = - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - let iR = iR ++ BigEndianIFP in - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) - else - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) in - (iR,oR) in - rmem_kind (acctype,B1) >>= fun w__7 -> - let ik = w__7 in - return (oR,iR,ik) - else - let oR = (xFP t) ++ oR in - rmem_kind (acctype,excl) >>= fun w__8 -> - let ik = w__8 in - return (oR,iR,ik)) >>= fun (oR, iR, ik) -> - return (aR,iR,oR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,iR,oR,ik) - end >>= fun (aR, iR, oR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v10v', v11v') -> (v10v',v11v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__9 -> - let ik = w__9 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - rmem_kind (acctype,B0) >>= fun w__10 -> - let ik = w__10 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v12v', v13v') -> (v12v',v13v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__11 -> - let ik = w__11 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__12 -> - let ik = w__12 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> - let iR = (xFP m) ++ iR in - let aR = (xFP m) ++ aR in - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v14v', v15v') -> (v14v',v15v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__13 -> - let ik = w__13 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__14 -> - let ik = w__14 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> - let rt_unknown = B0 in - let wb_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v16v', v17v') -> (v16v',v17v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__15 -> - let ik = w__15 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - let oR = (xFP t2) ++ oR in - rmem_kind (acctype,B0) >>= fun w__16 -> - let ik = w__16 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v18v', v19v') -> (v18v',v19v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> - let iR = if bitU_to_bool inzero then iR else (xFP d) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ExtractRegister (d,n,m,datasize,lsb) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> - let iR = (xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v20v', v21v') -> (v20v',v21v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | MoveWide (d,datasize,imm,pos,opcode) -> - let iR = if bitU_to_bool (eq (opcode, MoveWideOp_K)) then (xFP d) ++ iR else iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Address (d,page,imm) -> - let iR = _PCfp :: iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v22v', v23v') -> (v22v',v23v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = PSTATE_Cfp :: iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> - let iR = (xFP n) ++ iR in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Reverse (d,n,datasize,op) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CountLeading (d,n,datasize,opcode) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Division (d,n,m,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Shift (d,n,m,datasize,shift_type) -> - let iR = (xFP m) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CRC (d,n,m,size,crc32c) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - end >>= fun (aR, Nias, iR, oR, ik) -> - return (iR,oR,aR,Nias,Dia,ik) - -let decodeBranchesExceptionSystem machineCode = - match machineCode with - | ((Vector [_;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__392) -> - return (decodeUnconditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__403) -> - return (decodeCompareBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__414) -> - return (decodeTestBranchImmediate (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B0;B1;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__425) -> - return (decodeConditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__436) -> - decodeExceptionGeneration (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__447) -> - decodeSystemImplementationDefined (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__458) -> - decodeUnconditionalBranchRegister (reset_vector_start machineCode) - end - -let IsSecure () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((~(UsingAArch32 ())) &. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL3)))) - then return B1 - else - read_reg PSTATE_M >>= fun w__1 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((UsingAArch32 ()) &. (eq_vec (w__1, set_vector_start_to_length M32_Monitor)))) - then return B1 - else IsSecureBelowEL3 () - -let decodeLogicalImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__388) = - let opc = slice_raw v__388 (1:ii) (2:ii) in - let immr = slice_raw v__388 (10:ii) (15:ii) in - let imms = slice_raw v__388 (16:ii) (21:ii) in - let Rn = slice_raw v__388 (22:ii) (26:ii) in - let Rd = slice_raw v__388 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then ReservedValue () - else return ()) >> - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B1) >>= fun w__0 -> - let (imm, _) = match w__0 with | (v0v', v1v') -> (v0v',v1v') end in - return (Just (LogicalImmediate (d,n,datasize,setflags,op,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeBitfield ((Vector [sf;_;_;B1;B0;B0;B1;B1;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__384) = - let opc = slice_raw v__384 (1:ii) (2:ii) in - let immr = slice_raw v__384 (10:ii) (15:ii) in - let imms = slice_raw v__384 (16:ii) (21:ii) in - let Rn = slice_raw v__384 (22:ii) (26:ii) in - let Rd = slice_raw v__384 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let inzero = B0 in - let extend = B0 in - let R = (0:ii) in - let S = (0:ii) in - match opc with - | Vector [B0;B0] _ _ -> - let inzero = B1 in - let extend = B1 in - return (inzero,extend) - | Vector [B0;B1] _ _ -> - let inzero = B0 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B0] _ _ -> - let inzero = B1 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B1] _ _ -> - UnallocatedEncoding () >> - return (inzero,extend) - end >>= fun (inzero, extend) -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - ((neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - ((neq (match (access immr (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - (neq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))))) - then ReservedValue () - else return ()) >> - let R = UInt (reset_vector_start (set_vector_start_to_length immr)) in - let S = UInt (reset_vector_start (set_vector_start_to_length imms)) in - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B0) >>= fun (wmask, tmask) -> - return (Just (BitfieldMove (d,n,datasize,inzero,extend,R,S,reset_vector_start (set_vector_start_to_length - wmask),reset_vector_start (set_vector_start_to_length tmask)))) - -let AArch64_SetExclusiveMonitors (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B0 in - let aligned = - neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - if bitU_to_bool (IsFault memaddrdesc) - then () - else - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then MarkExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - let _ = MarkExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - AArch64_MarkExclusiveVA (reset_vector_start address,ProcessorID (),size) - -let AArch64_TakeReset cold_reset = - let _ = assert' (~(HighestELUsingAArch32 ())) (Nothing) in - write_reg PSTATE_nRW (to_vec_dec ((1:ii),(0:ii))) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg_field CurrentEL "EL" (set_vector_start 3 EL3) >> - write_reg_bitfield SCR_EL3 "NS" B0 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then write_reg_field CurrentEL "EL" (set_vector_start 3 EL2) - else write_reg_field CurrentEL "EL" (set_vector_start 3 EL1)) >> - let _ = AArch64_ResetControlRegisters cold_reset in - write_reg_bitfield SPSel "SP" B0 >> - wPSTATE_DAIF ((),reset_vector_start (Vector [B1;B1;B1;B1] 3 false)) >> - let PSTATE_SS = (0:ii) in - let PSTATE_IL = (0:ii) in - AArch64_ResetGeneralRegisters () >> - AArch64_ResetSIMDFPRegisters () >> - AArch64_ResetSpecialRegisters () >> - ResetExternalDebugRegisters cold_reset >> - let rv = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg RVBAR_EL3 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then read_reg RVBAR_EL2 - else read_reg RVBAR_EL1) >>= fun rv -> - PAMax () >>= fun w__3 -> - let _ = - assert' ((IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (63:ii) w__3)))) &. - (IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (1:ii) (0:ii)))))) (Just "reset vector not correctly aligned") in - BranchTo (reset_vector_start (set_vector_start_to_length rv),BranchType_UNKNOWN) - -let AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - let iswrite = B0 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - return (_rMem (read_buffer,memaddrdesc,size,acctype,exclusive)) - -let AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let iswrite = B1 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then ClearExclusiveByAddress (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - return (_wMem - (write_buffer, - memaddrdesc, - size, - acctype, - exclusive, - reset_vector_start (set_vector_start_to_length value))) - -let AArch64_ExclusiveMonitorsPass (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B1 in - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - (if bitU_to_bool (~aligned) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - let passed = AArch64_IsExclusiveVA (reset_vector_start address,ProcessorID (),size) in - (if bitU_to_bool (~passed) - then return (B0,passed) - else - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let passed = IsExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - let passed = - if bitU_to_bool passed - then - let _ = ClearExclusiveLocal (ProcessorID ()) in - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then IsExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else passed - else passed in - return (passed,passed)) >>= fun (w__0, passed) -> - return w__0 - -let decodeLoadsStores machineCode = - match machineCode with - | ((Vector [_;_;B0;B0;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__80) -> - decodeLoadStoreExclusive (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B0;B1;B1;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__99) -> - return (decodeLoadRegisterLiteral (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__118) -> - decodeLoadStoreNoAllocatePairOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__137) -> - decodeLoadStoreRegisterPairPostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__156) -> - decodeLoadStoreRegisterPairOffset (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__175) -> - decodeLoadStoreRegisterPairPreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__194) -> - decodeLoadStoreRegisterUnscaledImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__213) -> - decodeLoadStoreRegisterImmediatePostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__232) -> - decodeLoadStoreRegisterUnprivileged - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__251) -> - decodeLoadStoreRegisterImmediatePreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__270) -> - decodeLoadStoreRegisterRegisterOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__289) -> - decodeLoadStoreRegisterUnsignedImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B0;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__308) -> - decodeAdvSIMDLoadStoreMultiStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__327) -> - decodeAdvSIMDLoadStoreMultiStructPostIndexed (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B0;_;_;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__346) -> - decodeAdvSIMDLoadStoreSingleStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__365) -> - decodeAdvSIMDLoadStoreSingleStructPostIndexed (reset_vector_start machineCode) - end - -let S1TranslationRegime () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_field CurrentEL "EL" >>= fun w__1 -> - return (set_vector_start 1 w__1) - else - IsSecure () >>= fun w__2 -> - return (if bitU_to_bool - (w__2 &. - ((HaveEL (reset_vector_start EL3)) &. (ELUsingAArch32 (reset_vector_start EL3)))) - then EL3 - else EL1) - -let AArch64_CheckForSMCTrap imm = - IsSecure () >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - read_reg_field CurrentEL "EL" >>= fun w__2 -> - read_reg_bitfield HCR_EL2 "TSC" >>= fun w__3 -> - let route_to_el2 = - (HaveEL (reset_vector_start EL2)) &. - ((~w__0) &. - (((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__2, set_vector_start_to_length EL1))) &. - (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))))) in - if bitU_to_bool route_to_el2 - then not_implemented "AArch64_CheckForSMCTrap route_to_el2" - else return () - -let CheckSystemAccess (op0, op1, crn, crm, op2, rt, read) = - let unallocated = B0 in - let need_secure = B0 in - let min_EL = to_vec_dec ((2:ii),(0:ii)) in - match op1 with - | ((Vector [B0;B0;_] _ _) as v__77) -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B0] _ _ -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B1] _ _ -> - let min_EL = EL0 in - return (need_secure,min_EL) - | Vector [B1;B0;B0] _ _ -> - let min_EL = EL2 in - return (need_secure,min_EL) - | Vector [B1;B0;B1] _ _ -> - UnallocatedEncoding () >> - return (need_secure,min_EL) - | Vector [B1;B1;B0] _ _ -> - let min_EL = EL3 in - return (need_secure,min_EL) - | Vector [B1;B1;B1] _ _ -> - let min_EL = EL1 in - let need_secure = B1 in - return (need_secure,min_EL) - end >>= fun (need_secure, min_EL) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length min_EL)) - then UnallocatedEncoding () - else - IsSecure () >>= fun w__1 -> - if bitU_to_bool (need_secure &. (~w__1)) - then UnallocatedEncoding () - else - AArch64_CheckUnallocatedSystemAccess - (reset_vector_start op0, - reset_vector_start op1, - reset_vector_start crn, - reset_vector_start crm, - reset_vector_start op2, - read) >>= fun w__2 -> - if bitU_to_bool w__2 - then UnallocatedEncoding () - else return () - -let ExternalSecureInvasiveDebugEnabled () = - IsSecure () >>= fun w__0 -> - if bitU_to_bool ((~(HaveEL (reset_vector_start EL3))) &. (~w__0)) - then return B0 - else - ExternalInvasiveDebugEnabled () >>= fun w__1 -> - signalSPIDEN () >>= fun w__2 -> - return (w__1 &. (eq (w__2, HIGH))) - -let decodeDataImmediate machineCode = - match machineCode with - | ((Vector [_;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__35) -> - return (decodePCRelAddressing (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__42) -> - decodeAddSubtractImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__49) -> - decodeLogicalImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__56) -> - decodeMoveWideImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__63) -> - decodeBitfield (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__70) -> - decodeExtract (reset_vector_start (set_vector_start_to_length machineCode)) - end - -let SCTLR' () = - S1TranslationRegime () >>= fun w__0 -> - return (SCTLR (reset_vector_start w__0)) - -let HaltingAllowed () = - Halted () >>= fun w__0 -> - DoubleLockStatus () >>= fun w__1 -> - if bitU_to_bool (w__0 |. w__1) - then return B0 - else - IsSecure () >>= fun w__2 -> - if bitU_to_bool w__2 - then ExternalSecureInvasiveDebugEnabled () - else ExternalInvasiveDebugEnabled () - -let decode machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__0) -> - return (Just (Unallocated)) - | ((Vector [_;_;_;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__5) -> - decodeDataImmediate (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__10) -> - decodeBranchesExceptionSystem (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__15) -> - decodeLoadsStores (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__20) -> - decodeDataRegister (reset_vector_start machineCode) - | ((Vector [_;_;_;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__25) -> - decodeDataSIMDFPoint1 (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__30) -> - decodeDataSIMDFPoint2 (reset_vector_start machineCode) - | _ -> return (Nothing) - end - -let BigEndian () = - let bigend = B0 in - if bitU_to_bool (UsingAArch32 ()) - then - read_reg PSTATE_E >>= fun w__0 -> - let bigend = neq_vec_range (w__0, (0:ii)) in - return bigend - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "E0E" >>= fun w__2 -> - let bigend = neq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - else - SCTLR' () >>= fun w__3 -> - read_reg_bitfield w__3 "EE" >>= fun w__4 -> - let bigend = neq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - -let flush_read_buffer (read_buffer, size) = - let _ = assert' (eq_range (read_buffer.read_buffer_type_size, size)) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - (if bitU_to_bool read_buffer.read_buffer_type_exclusive - then - match read_buffer.read_buffer_type_acctype with - | AccType_ATOMIC -> - rMem_ATOMIC - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - | AccType_ORDERED -> - rMem_ATOMIC_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__1 -> - return (set_vector_start_to_length w__1) - | _ -> - not_implemented "unimplemented memory access" >> - return value - end - else - match read_buffer.read_buffer_type_acctype with - | AccType_NORMAL -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__2 -> - return (set_vector_start_to_length w__2) - | AccType_STREAM -> - rMem_STREAM - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__3 -> - return (set_vector_start_to_length w__3) - | AccType_UNPRIV -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__4 -> - return (set_vector_start_to_length w__4) - | AccType_ORDERED -> - rMem_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__5 -> - return (set_vector_start_to_length w__5) - | AccType_ATOMIC -> return value - end) >>= fun value -> - BigEndian () >>= fun w__6 -> - let value = - if bitU_to_bool w__6 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value))) - else value in - return (set_vector_start_to_length value) - -let CheckSPAlignment () = - rSP (64:ii) >>= fun sp -> - let stack_align_check = B0 in - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "SA0" >>= fun w__1 -> - let stack_align_check = neq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check - else - SCTLR' () >>= fun w__2 -> - read_reg_bitfield w__2 "SA" >>= fun w__3 -> - let stack_align_check = neq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check) >>= fun stack_align_check -> - if bitU_to_bool - (stack_align_check &. - (neq_vec - (set_vector_start_to_length sp, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length sp),(16:ii)))))) - then AArch64_SPAlignmentFault () - else return () - -let AArch64_CheckAlignment (address, size, acctype, iswrite) = - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - SCTLR' () >>= fun w__0 -> - read_reg_bitfield w__0 "A" >>= fun A -> - (if bitU_to_bool - ((~aligned) &. - ((eq (acctype, AccType_ATOMIC)) |. - ((eq (acctype, AccType_ORDERED)) |. - (eq (match A with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))))) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - return aligned - -let rMem' (read_buffer, address, size, acctype, exclusive) = - let read_buffer' = read_buffer in - let i = (0:ii) in - let iswrite = B0 in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - let _ = assert' (gt (size, (1:ii))) (Nothing) in - if bitU_to_bool (~exclusive) - then - AArch64_rMemSingle (read_buffer',reset_vector_start address,(1:ii),acctype,aligned,B0) >>= fun w__0 -> - let read_buffer' = w__0 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) read_buffer' - (fun i read_buffer' -> - AArch64_rMemSingle - (read_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0))) - else return read_buffer' - else AArch64_rMemSingle (read_buffer',reset_vector_start address,size,acctype,aligned,exclusive) - -let wMem' (write_buffer, address, size, acctype, value, exclusive) = - let write_buffer' = write_buffer in - let value' = set_vector_start_to_length value in - let i = (0:ii) in - let iswrite = B1 in - BigEndian () >>= fun w__0 -> - let value' = - if bitU_to_bool w__0 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value'))) - else value' in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - let exclusiveSuccess = B0 in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - if bitU_to_bool (~exclusive) - then - let _ = assert' (gt (size, (1:ii))) (Nothing) in - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (7:ii) (0:ii)))) >>= fun w__1 -> - let write_buffer' = w__1 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) write_buffer' - (fun i write_buffer' -> - AArch64_wMemSingle - (write_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (((8:ii) * i) + (7:ii)) ((8:ii) * i)))))) - else return write_buffer' - else - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - size, - acctype, - aligned, - exclusive, - reset_vector_start (set_vector_start_to_length value')) - -let rMem (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B0) - -let rMem_exclusive (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B1) - -let wMem (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B0) - -let wMem_exclusive (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B1) - - - -let execute_TMStart t = - read_reg TxNestingLevel >>= fun nesting -> - read_reg_field TXIDR_EL0 "DEPTH" >>= fun w__0 -> - if bitU_to_bool - (lt_vec_unsigned (set_vector_start_to_length nesting, set_vector_start_to_length w__0)) - then - write_reg - TxNestingLevel - (set_vector_start 7 (add_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) >> - let status = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then read_reg TMStartEffect - else return status) >>= fun status -> - wX (t,reset_vector_start (set_vector_start_to_length status)) - else - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update_pos status (10:ii) B1 in - write_reg TMAbortEffect status - -let execute_TMCommit () = - read_reg TxNestingLevel >>= fun nesting -> - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (1:ii))) - then TMCommitEffect () - else - if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then AArch64_UndefinedFault () - else return ()) >> - write_reg - TxNestingLevel - (set_vector_start 7 (minus_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) - -let execute_TMTest () = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B0;B0;B0] 3 false)) - else wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B1;B0;B0] 3 false)) - -let execute_TMAbort (retry, reason) = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update status (4:ii) (0:ii) reason in - let status = update_pos status (8:ii) retry in - let status = update_pos status (9:ii) B1 in - write_reg TMAbortEffect status - else return () - -let execute_CompareAndBranch (t, datasize, iszero, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - if bitU_to_bool - (eq_bit (IsZero (reset_vector_start (set_vector_start_to_length operand1)), iszero)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchConditional (offset, condition) = - ConditionHolds (reset_vector_start condition) >>= fun w__0 -> - if bitU_to_bool w__0 - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_GenerateExceptionEL1 imm = AArch64_CallSupervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL2 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - IsSecure () >>= fun w__2 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL2))) |. - ((eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) |. - ((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL1)) &. w__2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg_bitfield SCR_EL3 "HCE" - else - read_reg_bitfield HCR_EL2 "HCD" >>= fun w__4 -> - return (NOT' w__4)) >>= fun hvc_enable -> - if bitU_to_bool (eq (match hvc_enable with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then AArch64_UndefinedFault () - else AArch64_CallHypervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL3 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL3))) |. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0))) - then UnallocatedEncoding () - else return ()) >> - AArch64_CheckForSMCTrap (reset_vector_start imm) >> - read_reg_bitfield SCR_EL3 "SMD" >>= fun w__1 -> - if bitU_to_bool (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AArch64_UndefinedFault () - else AArch64_CallSecureMonitor (reset_vector_start imm) - -let execute_DebugBreakpoint comment = AArch64_SoftwareBreakpoint (reset_vector_start comment) - -let execute_ExternalDebugBreakpoint () = Halt (reset_vector_start DebugHalt_HaltInstruction) - -let execute_DebugSwitchToExceptionLevel target_level = - DCPSInstruction (reset_vector_start target_level) - -let execute_MoveSystemImmediate (operand, field') = - match field' with - | PSTATEField_SP -> write_reg_bitfield SPSel "SP" (access operand (0:ii)) - | PSTATEField_DAIFSet -> - read_reg_bitfield DAIF "D" >>= fun w__0 -> - write_reg_bitfield DAIF "D" (w__0 |. (access operand (3:ii))) >> - read_reg_bitfield DAIF "A" >>= fun w__1 -> - write_reg_bitfield DAIF "A" (w__1 |. (access operand (2:ii))) >> - read_reg_bitfield DAIF "I" >>= fun w__2 -> - write_reg_bitfield DAIF "I" (w__2 |. (access operand (1:ii))) >> - read_reg_bitfield DAIF "F" >>= fun w__3 -> - write_reg_bitfield DAIF "F" (w__3 |. (access operand (0:ii))) - | PSTATEField_DAIFClr -> - read_reg_bitfield DAIF "D" >>= fun w__4 -> - write_reg_bitfield DAIF "D" (w__4 &. (NOT' (access operand (3:ii)))) >> - read_reg_bitfield DAIF "A" >>= fun w__5 -> - write_reg_bitfield DAIF "A" (w__5 &. (NOT' (access operand (2:ii)))) >> - read_reg_bitfield DAIF "I" >>= fun w__6 -> - write_reg_bitfield DAIF "I" (w__6 &. (NOT' (access operand (1:ii)))) >> - read_reg_bitfield DAIF "F" >>= fun w__7 -> - write_reg_bitfield DAIF "F" (w__7 &. (NOT' (access operand (0:ii)))) - end - -let execute_Hint op = - match op with - | SystemHintOp_YIELD -> return (Hint_Yield ()) - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__0 -> - if bitU_to_bool w__0 - then ClearEventRegister () - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B1) - else return ()) >> - IsSecure () >>= fun w__2 -> - read_reg_field CurrentEL "EL" >>= fun w__3 -> - read_reg_field CurrentEL "EL" >>= fun w__4 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__2) &. - ((eq_vec (set_vector_start_to_length w__3, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__4, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B1) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__5 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__5, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B1) - else return ()) >> - WaitForEvent () - | SystemHintOp_WFI -> - InterruptPending () >>= fun w__6 -> - if bitU_to_bool (~w__6) - then - read_reg_field CurrentEL "EL" >>= fun w__7 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__7, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B0) - else return ()) >> - IsSecure () >>= fun w__8 -> - read_reg_field CurrentEL "EL" >>= fun w__9 -> - read_reg_field CurrentEL "EL" >>= fun w__10 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__8) &. - ((eq_vec (set_vector_start_to_length w__9, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__10, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B0) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__11 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__11, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B0) - else return ()) >> - WaitForInterrupt () - else return () - | SystemHintOp_SEV -> return (SendEvent ()) - | SystemHintOp_SEVL -> EventRegisterSet () - | _ -> return () - end - -let execute_ClearExclusiveMonitor imm = return (ClearExclusiveLocal (ProcessorID ())) - -let execute_Barrier (op, domain, types) = - match op with - | MemBarrierOp_DSB -> DataSynchronizationBarrier (domain,types) - | MemBarrierOp_DMB -> DataMemoryBarrier (domain,types) - | MemBarrierOp_ISB -> InstructionSynchronizationBarrier () - end - -let execute_System (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, has_result) = - if bitU_to_bool has_result - then - SysOp_R (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - SysOp_W (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_MoveSystemRegister (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, read) = - if bitU_to_bool read - then - System_Get (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - System_Put (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_ImplementationDefinedTestBeginEnd isEnd = - return (if bitU_to_bool isEnd - then info "test ends" - else info "test begins") - -let execute_ImplementationDefinedStopFetching () = return (info "stop fetching instructions") - -let execute_ImplementationDefinedThreadStart () = return (info "thread start") - -let execute_TestBitAndBranch (t, datasize, bit_pos, bit_val, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand = set_vector_start_to_length w__0 in - if bitU_to_bool (eq_bit (access (set_vector_start_to_length operand) bit_pos, bit_val)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchImmediate (branch_type, offset) = - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - branch_type) - -let execute_BranchRegister (n, branch_type) = - rX ((64:ii),n) >>= fun target -> - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - BranchTo (reset_vector_start (set_vector_start_to_length target),branch_type) - -let execute_ExceptionReturn () = - rELR' () >>= fun w__0 -> - rSPSR () >>= fun w__1 -> - AArch64_ExceptionReturn (reset_vector_start w__0,reset_vector_start w__1) - -let execute_DebugRestorePState () = DRPSInstruction () - -let execute_LoadLiteral (t, memop, _signed, size, offset, datasize) = - rPC () >>= fun w__0 -> - let address = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match memop with - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,size,AccType_NORMAL) >>= fun w__1 -> - flush_read_buffer (w__1,size) >>= fun w__2 -> - let data = set_vector_start_to_length w__2 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data))))) - else wX (t,reset_vector_start (set_vector_start_to_length data))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStoreAcqExc (n, t, t2, s, acctype, excl, pair, memop, elsize, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let rn_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (pair &. (eq_range (t, t2)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - (if bitU_to_bool ((eq_range (s, t)) |. (pair &. (eq_range (s, t2)))) - then UnallocatedEncoding () - else return ()) >> - if bitU_to_bool ((eq_range (s, n)) &. (neq_range (n, (31:ii)))) - then UnallocatedEncoding () - else return () - else return ()) >> - let status = B0 in - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - speculate_exclusive_success () >>= fun w__0 -> - let status = if bitU_to_bool w__0 then B0 else B1 in - wX - (s, - reset_vector_start (set_vector_start_to_length - (ZeroExtend - ((32:ii), - reset_vector_start (set_vector_start_to_length (Vector [status] 0 false)))))) >> - return status - else return status) >>= fun status -> - (if bitU_to_bool (eq (match status with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then return (address,data,status) - else - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else - if bitU_to_bool rn_unknown - then - let address = to_vec_dec ((64:ii),UNKNOWN) in - return address - else rX ((64:ii),n)) >>= fun address -> - match memop with - | MemOp_STORE -> - wMem_Addr (reset_vector_start address,dbytes,acctype,excl) >> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - rX (regsize,t) >>= fun w__3 -> - let el1 = set_vector_start_to_length w__3 in - rX (length el1,t2) >>= fun w__4 -> - let el2 = set_vector_start_to_length w__4 in - BigEndian () >>= fun w__5 -> - let data = - if bitU_to_bool w__5 - then - set_vector_start_to_length - ((set_vector_start_to_length el1) ^^ (set_vector_start_to_length el2)) - else - set_vector_start_to_length - ((set_vector_start_to_length el2) ^^ (set_vector_start_to_length el1)) in - return data - else - rX (length data,t) >>= fun w__6 -> - return (set_vector_start_to_length w__6)) >>= fun data -> - (if bitU_to_bool excl - then - let status = B1 in - AArch64_ExclusiveMonitorsPass (reset_vector_start address,dbytes) >>= fun w__7 -> - if bitU_to_bool w__7 - then - wMem_exclusive - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__8 -> - flush_write_buffer_exclusive w__8 - else return status - else - wMem - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__10 -> - flush_write_buffer w__10 >> - return status) >>= fun status -> - return (data,status) - | MemOp_LOAD -> - let _ = - if bitU_to_bool excl - then AArch64_SetExclusiveMonitors (reset_vector_start address,dbytes) - else () in - (if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - if bitU_to_bool rt_unknown - then - wX - (t, - reset_vector_start (set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)))) >> - return data - else - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - rMem_exclusive (empty_read_buffer,reset_vector_start address,dbytes,acctype) >>= fun w__11 -> - flush_read_buffer (w__11,dbytes) >>= fun w__12 -> - let data = set_vector_start_to_length w__12 in - BigEndian () >>= fun w__13 -> - (if bitU_to_bool w__13 - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize)))) >> - return data - else - (if bitU_to_bool - (neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),dbytes)))) - then - let iswrite = B0 in - let secondstage = B0 in - AArch64_Abort - (reset_vector_start address, - AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - rMem_exclusive - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - (8:ii), - acctype) >>= fun read_buffer -> - rMem_exclusive - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (8:ii))), - (8:ii), - acctype) >>= fun w__14 -> - let read_buffer = w__14 in - flush_read_buffer (read_buffer,(8:ii) * (2:ii)) >>= fun w__15 -> - let value = set_vector_start 127 w__15 in - wX (t,reset_vector_start (set_vector_start_to_length (slice value (63:ii) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length (slice value (127:ii) (64:ii)))) >> - return data - else - rMem' (empty_read_buffer,reset_vector_start address,dbytes,acctype,excl) >>= fun w__16 -> - flush_read_buffer (w__16,dbytes) >>= fun w__17 -> - let data = set_vector_start_to_length w__17 in - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) >> - return data) >>= fun data -> - return (data,status) - end >>= fun (data, status) -> - return (address,data,status)) >>= fun (address, data, status) -> - return () - -let execute_LoadStorePairNonTemp (wback, postindex, n, t, t2, acctype, memop, scale, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2)) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_LoadImmediate (n, t, acctype, memop, _signed, wback, postindex, offset, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadRegister (n, t, m, acctype, memop, _signed, wback, postindex, extend_type, shift, regsize, datasize) = - ExtendReg ((64:ii),m,extend_type,shift) >>= fun offset -> - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStorePair (wback, postindex, n, t, t2, acctype, memop, _signed, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let wb_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data1))))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data2))))) - else - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2))) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_AddSubImmediate (d, n, datasize, sub_op, setflags, imm) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v0v', v1v') -> (v0v',v1v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_BitfieldMove (d, n, datasize, inzero, extend, R, S, wmask, tmask) = - (if bitU_to_bool inzero - then return (set_vector_start_to_length (Zeros datasize)) - else - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0)) >>= fun dst -> - rX (datasize,n) >>= fun w__1 -> - let src = set_vector_start_to_length w__1 in - let bot = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length dst, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length wmask))))), - set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length src),R)), - set_vector_start_to_length wmask)))) in - let top = - if bitU_to_bool extend - then - set_vector_start_to_length - (Replicate - (length bot, - reset_vector_start (set_vector_start_to_length - (Vector [access (set_vector_start_to_length src) S] 0 false)))) - else set_vector_start_to_length dst in - wX - (d, - reset_vector_start (set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length top, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length tmask))))), - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length bot, set_vector_start_to_length tmask)))))) - -let execute_ExtractRegister (d, n, m, datasize, lsb) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let concat = - set_vector_start_to_length - ((set_vector_start_to_length operand1) ^^ (set_vector_start_to_length operand2)) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length concat) ((lsb + datasize) - (1:ii)) lsb) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_LogicalImmediate (d, n, datasize, setflags, op, imm) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_MoveWide (d, datasize, imm, pos, opcode) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - (if bitU_to_bool (eq (opcode, MoveWideOp_K)) - then - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - let result = set_vector_start_to_length (Zeros datasize) in - return result) >>= fun result -> - let result = update result (pos + (15:ii)) pos (set_vector_start_to_length imm) in - let result = - if bitU_to_bool (eq (opcode, MoveWideOp_N)) - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Address (d, page, imm) = - rPC () >>= fun base -> - let base = if bitU_to_bool page then update base (11:ii) (0:ii) (Zeros (12:ii)) else base in - wX - (d, - reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length base)) - (reset_vector_start (set_vector_start_to_length imm))))) - -let execute_AddSubExtendRegister (d, n, m, datasize, sub_op, setflags, extend_type, shift) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - ExtendReg (datasize,m,extend_type,shift) >>= fun w__2 -> - let operand2 = set_vector_start_to_length w__2 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v2v', v3v') -> (v2v',v3v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubShiftedRegister (d, n, m, datasize, sub_op, setflags, shift_type, shift_amount) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v4v', v5v') -> (v4v',v5v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubCarry (d, n, m, datasize, sub_op, setflags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool sub_op - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - read_reg_bitfield NZCV "C" >>= fun w__2 -> - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - w__2)) with - | (v6v', v7v') -> (v6v',v7v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_ConditionalCompareImmediate (n, datasize, sub_op, condition, flags, imm) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__1 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__1 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v8v', v9v') -> (v8v',v9v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalCompareRegister (n, m, datasize, sub_op, condition, flags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__2 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v10v', v11v') -> (v10v',v11v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalSelect (d, n, m, datasize, condition, else_inv, else_inc) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let result = - if bitU_to_bool w__2 - then set_vector_start_to_length operand1 - else - let result = set_vector_start_to_length operand2 in - let result = - if bitU_to_bool else_inv - then - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - if bitU_to_bool else_inc - then - set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length result)) (1:ii)) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Reverse (d, n, datasize, op) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let V = to_vec_dec ((6:ii),(0:ii)) in - let V = - match op with - | RevOp_REV16 -> Vector [B0;B0;B1;B0;B0;B0] 5 false - | RevOp_REV32 -> Vector [B0;B1;B1;B0;B0;B0] 5 false - | RevOp_REV64 -> Vector [B1;B1;B1;B0;B0;B0] 5 false - | RevOp_RBIT -> - if bitU_to_bool (eq_range (datasize, (64:ii))) - then Vector [B1;B1;B1;B1;B1;B1] 5 false - else Vector [B0;B1;B1;B1;B1;B1] 5 false - end in - rX (datasize,n) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - (foreach_inc ((0:ii),(5:ii),(1:ii)) result - (fun vbit result -> - if bitU_to_bool (eq (match (access V vbit) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - let tmp = set_vector_start_to_length result in - let vsize = lsl' ((1:ii),vbit) in - (foreach_inc ((0:ii),datasize - (1:ii),(2:ii) * vsize) result - (fun base result -> - let result = - update - result ((base + vsize) - (1:ii)) base - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) - ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize))) in - update - result ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize) - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) ((base + vsize) - (1:ii)) base)))) - else result)) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CountLeading (d, n, datasize, opcode) = - let result = (0:ii) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let result = - if bitU_to_bool (eq (opcode, CountOp_CLZ)) - then CountLeadingZeroBits (reset_vector_start (set_vector_start_to_length operand1)) - else CountLeadingSignBits (reset_vector_start (set_vector_start_to_length operand1)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Division (d, n, m, datasize, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length operand2))) - then (0:ii) - else - quot - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Shift (d, n, m, datasize, shift_type) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,m) >>= fun w__0 -> - let operand2 = set_vector_start_to_length w__0 in - ShiftReg - (datasize, - n, - shift_type, - modulo (UInt (reset_vector_start (set_vector_start_to_length operand2))) datasize) >>= fun w__1 -> - let result = set_vector_start_to_length w__1 in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CRC (d, n, m, size, crc32c) = - (if bitU_to_bool (~(HaveCRCExt ())) - then UnallocatedEncoding () - else return ()) >> - rX ((32:ii),n) >>= fun acc -> - rX (size,m) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let poly = - if bitU_to_bool crc32c - then - Vector [B0;B0;B0;B1;B1;B1;B1;B0;B1;B1;B0;B1;B1;B1;B0;B0;B0;B1;B1;B0;B1; - B1;B1;B1;B0;B1;B0;B0;B0;B0;B0;B1] 31 false - else - Vector [B0;B0;B0;B0;B0;B1;B0;B0;B1;B1;B0;B0;B0;B0;B0;B1;B0;B0;B0;B1;B1; - B1;B0;B1;B1;B0;B1;B1;B0;B1;B1;B1] 31 false in - let tempacc = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length acc)))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros (length _val))))) in - let tempval = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length _val)))) ^^ - (Zeros (32:ii))) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (BitReverse - (reset_vector_start (set_vector_start_to_length - (Poly32Mod2 - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length tempacc, - set_vector_start_to_length tempval))), - reset_vector_start poly))))))) - -let execute_MultiplyAddSub (d, n, m, a, destsize, datasize, sub_op) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (UInt (reset_vector_start (set_vector_start_to_length operand3))) - - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) - else - (UInt (reset_vector_start (set_vector_start_to_length operand3))) + - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (destsize,result)))) - -let execute_MultiplyAddSubLong (d, n, m, a, destsize, datasize, sub_op, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) - - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) - else - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) + - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),result)))) - -let execute_MultiplyHigh (d, n, m, a, destsize, datasize, _unsigned) = - rX (destsize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (destsize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (slice (to_vec_dec ((128:ii),result)) (127:ii) (64:ii)))) - -let execute_LogicalShiftedRegister (d, n, m, datasize, setflags, op, shift_type, shift_amount, invert) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool invert - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) (datasize - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute = function - - | TMStart (t) -> execute_TMStart (t) - | TMCommit -> execute_TMCommit () - | TMTest -> execute_TMTest () - | TMAbort (retry,reason) -> execute_TMAbort (retry,reason) - | CompareAndBranch (t,datasize,iszero,offset) -> execute_CompareAndBranch (t,datasize,iszero,offset) - | BranchConditional (offset,condition) -> execute_BranchConditional (offset,condition) - | GenerateExceptionEL1 (imm) -> execute_GenerateExceptionEL1 (imm) - | GenerateExceptionEL2 (imm) -> execute_GenerateExceptionEL2 (imm) - | GenerateExceptionEL3 (imm) -> execute_GenerateExceptionEL3 (imm) - | DebugBreakpoint (comment) -> execute_DebugBreakpoint (comment) - | ExternalDebugBreakpoint -> execute_ExternalDebugBreakpoint () - | DebugSwitchToExceptionLevel (target_level) -> execute_DebugSwitchToExceptionLevel (target_level) - | MoveSystemImmediate (operand,field') -> execute_MoveSystemImmediate (operand,field') - | Hint (op) -> execute_Hint (op) - | ClearExclusiveMonitor (imm) -> execute_ClearExclusiveMonitor (imm) - | Barrier (op,domain,types) -> execute_Barrier (op,domain,types) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> execute_System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> execute_MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) - | ImplementationDefinedTestBeginEnd (isEnd) -> execute_ImplementationDefinedTestBeginEnd (isEnd) - | ImplementationDefinedStopFetching -> execute_ImplementationDefinedStopFetching () - | ImplementationDefinedThreadStart -> execute_ImplementationDefinedThreadStart () - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> execute_TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) - | BranchImmediate (branch_type,offset) -> execute_BranchImmediate (branch_type,offset) - | BranchRegister (n,branch_type) -> execute_BranchRegister (n,branch_type) - | ExceptionReturn -> execute_ExceptionReturn () - | DebugRestorePState -> execute_DebugRestorePState () - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> execute_LoadLiteral (t,memop,_signed,size,offset,datasize) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> execute_LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> execute_LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> execute_LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> execute_LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> execute_LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> execute_AddSubImmediate (d,n,datasize,sub_op,setflags,imm) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> execute_BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) - | ExtractRegister (d,n,m,datasize,lsb) -> execute_ExtractRegister (d,n,m,datasize,lsb) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> execute_LogicalImmediate (d,n,datasize,setflags,op,imm) - | MoveWide (d,datasize,imm,pos,opcode) -> execute_MoveWide (d,datasize,imm,pos,opcode) - | Address (d,page,imm) -> execute_Address (d,page,imm) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> execute_AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> execute_AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> execute_AddSubCarry (d,n,m,datasize,sub_op,setflags) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> execute_ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> execute_ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> execute_ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) - | Reverse (d,n,datasize,op) -> execute_Reverse (d,n,datasize,op) - | CountLeading (d,n,datasize,opcode) -> execute_CountLeading (d,n,datasize,opcode) - | Division (d,n,m,datasize,_unsigned) -> execute_Division (d,n,m,datasize,_unsigned) - | Shift (d,n,m,datasize,shift_type) -> execute_Shift (d,n,m,datasize,shift_type) - | CRC (d,n,m,size,crc32c) -> execute_CRC (d,n,m,size,crc32c) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> execute_MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> execute_MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> execute_MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> execute_LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) - end - diff --git a/aarch64_small/armV8_embed_types.lem b/aarch64_small/armV8_embed_types.lem deleted file mode 100644 index b3728e62..00000000 --- a/aarch64_small/armV8_embed_types.lem +++ /dev/null @@ -1,659 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Sail_values -type boolean = bitU - -type integer' = ii - -type uinteger = ii - -type reg_size = vector bitU - -type reg_index = integer - -type SIMD_index = integer - -let _PC = Register "_PC" 64 63 false [] - -let TxNestingLevel = Register "TxNestingLevel" 8 7 false [] - -let build_TMSTATUS_type regname = - Register regname 64 63 false - [("IMP", (16 , 16)); - ("DBG", (15 , 15)); - ("MEM", (14 , 14)); - ("ERR", (13 , 13)); - ("INV", (12 , 12)); - ("SIZE", (11 , 11)); - ("NEST", (10 , 10)); - ("ABRT", (9 , 9)); - ("RTRY", (8 , 8)); - ("REASON", (4 , 0))] - -let R30 = Register "R30" 64 63 false [] - -let R29 = Register "R29" 64 63 false [] - -let R28 = Register "R28" 64 63 false [] - -let R27 = Register "R27" 64 63 false [] - -let R26 = Register "R26" 64 63 false [] - -let R25 = Register "R25" 64 63 false [] - -let R24 = Register "R24" 64 63 false [] - -let R23 = Register "R23" 64 63 false [] - -let R22 = Register "R22" 64 63 false [] - -let R21 = Register "R21" 64 63 false [] - -let R20 = Register "R20" 64 63 false [] - -let R19 = Register "R19" 64 63 false [] - -let R18 = Register "R18" 64 63 false [] - -let R17 = Register "R17" 64 63 false [] - -let R16 = Register "R16" 64 63 false [] - -let R15 = Register "R15" 64 63 false [] - -let R14 = Register "R14" 64 63 false [] - -let R13 = Register "R13" 64 63 false [] - -let R12 = Register "R12" 64 63 false [] - -let R11 = Register "R11" 64 63 false [] - -let R10 = Register "R10" 64 63 false [] - -let R9 = Register "R9" 64 63 false [] - -let R8 = Register "R8" 64 63 false [] - -let R7 = Register "R7" 64 63 false [] - -let R6 = Register "R6" 64 63 false [] - -let R5 = Register "R5" 64 63 false [] - -let R4 = Register "R4" 64 63 false [] - -let R3 = Register "R3" 64 63 false [] - -let R2 = Register "R2" 64 63 false [] - -let R1 = Register "R1" 64 63 false [] - -let R0 = Register "R0" 64 63 false [] - -let V31 = Register "V31" 128 127 false [] - -let V30 = Register "V30" 128 127 false [] - -let V29 = Register "V29" 128 127 false [] - -let V28 = Register "V28" 128 127 false [] - -let V27 = Register "V27" 128 127 false [] - -let V26 = Register "V26" 128 127 false [] - -let V25 = Register "V25" 128 127 false [] - -let V24 = Register "V24" 128 127 false [] - -let V23 = Register "V23" 128 127 false [] - -let V22 = Register "V22" 128 127 false [] - -let V21 = Register "V21" 128 127 false [] - -let V20 = Register "V20" 128 127 false [] - -let V19 = Register "V19" 128 127 false [] - -let V18 = Register "V18" 128 127 false [] - -let V17 = Register "V17" 128 127 false [] - -let V16 = Register "V16" 128 127 false [] - -let V15 = Register "V15" 128 127 false [] - -let V14 = Register "V14" 128 127 false [] - -let V13 = Register "V13" 128 127 false [] - -let V12 = Register "V12" 128 127 false [] - -let V11 = Register "V11" 128 127 false [] - -let V10 = Register "V10" 128 127 false [] - -let V9 = Register "V9" 128 127 false [] - -let V8 = Register "V8" 128 127 false [] - -let V7 = Register "V7" 128 127 false [] - -let V6 = Register "V6" 128 127 false [] - -let V5 = Register "V5" 128 127 false [] - -let V4 = Register "V4" 128 127 false [] - -let V3 = Register "V3" 128 127 false [] - -let V2 = Register "V2" 128 127 false [] - -let V1 = Register "V1" 128 127 false [] - -let V0 = Register "V0" 128 127 false [] - -type IMPLEMENTATION_DEFINED_type = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt : bitU; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL : bitU; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 : bitU; - IMPLEMENTATION_DEFINED_type_HaveEL2 : bitU; - IMPLEMENTATION_DEFINED_type_HaveEL3 : bitU; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 : bitU; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 : bitU; |> - -let build_HCR_type regname = - Register regname 64 63 false - [("ID", (33 , 33)); - ("CD", (32 , 32)); - ("RW", (31 , 31)); - ("TRVM", (30 , 30)); - ("HCD", (29 , 29)); - ("TDZ", (28 , 28)); - ("TGE", (27 , 27)); - ("TVM", (26 , 26)); - ("TTLB", (25 , 25)); - ("TPU", (24 , 24)); - ("TPC", (23 , 23)); - ("TSW", (22 , 22)); - ("TACR", (21 , 21)); - ("TIDCP", (20 , 20)); - ("TSC", (19 , 19)); - ("TID3", (18 , 18)); - ("TID2", (17 , 17)); - ("TID1", (16 , 16)); - ("TID0", (15 , 15)); - ("TWE", (14 , 14)); - ("TWI", (13 , 13)); - ("DC", (12 , 12)); - ("BSU", (11 , 10)); - ("FB", (9 , 9)); - ("VSE", (8 , 8)); - ("VI", (7 , 7)); - ("VF", (6 , 6)); - ("AMO", (5 , 5)); - ("IMO", (4 , 4)); - ("FMO", (3 , 3)); - ("PTW", (2 , 2)); - ("SWIO", (1 , 1)); - ("VM", (0 , 0))] - -let build_ID_AA64MMFR0_type regname = - Register regname 64 63 false - [("TGran4", (31 , 28)); - ("TGran64", (27 , 24)); - ("TGran16", (23 , 20)); - ("BigEndEL0", (19 , 16)); - ("SNSMem", (15 , 12)); - ("BigEnd", (11 , 8)); - ("ASIDBits", (7 , 4)); - ("PARange", (3 , 0))] - -let RVBAR_EL1 = Register "RVBAR_EL1" 64 63 false [] - -let RVBAR_EL2 = Register "RVBAR_EL2" 64 63 false [] - -let RVBAR_EL3 = Register "RVBAR_EL3" 64 63 false [] - -let build_SCRType regname = - Register regname 32 31 false - [("TWE", (13 , 13)); - ("TWI", (12 , 12)); - ("ST", (11 , 11)); - ("RW", (10 , 10)); - ("SIF", (9 , 9)); - ("HCE", (8 , 8)); - ("SMD", (7 , 7)); - ("EA", (3 , 3)); - ("FIQ", (2 , 2)); - ("IRQ", (1 , 1)); - ("NS", (0 , 0))] - -let build_SCTLR_EL1_type regname = - Register regname 32 31 false - [("UCI", (26 , 26)); - ("EE", (25 , 25)); - ("E0E", (24 , 24)); - ("WXN", (19 , 19)); - ("nTWE", (18 , 18)); - ("nTWI", (16 , 16)); - ("UCT", (15 , 15)); - ("DZE", (14 , 14)); - ("I", (12 , 12)); - ("UMA", (9 , 9)); - ("SED", (8 , 8)); - ("ITD", (7 , 7)); - ("CP15BEN", (5 , 5)); - ("SA0", (4 , 4)); - ("SA", (3 , 3)); - ("C", (2 , 2)); - ("A", (1 , 1)); - ("M", (0 , 0))] - -let build_SCTLR_type regname = - Register regname 32 31 false - [("EE", (25 , 25)); - ("WXN", (19 , 19)); - ("I", (12 , 12)); - ("SA", (3 , 3)); - ("C", (2 , 2)); - ("A", (1 , 1)); - ("M", (0 , 0))] - -let build_TCR_EL1_type regname = - Register regname 64 63 false - [("TBI1", (38 , 38)); - ("TBI0", (37 , 37)); - ("AS", (36 , 36)); - ("IPS", (34 , 32)); - ("TG1", (31 , 30)); - ("SH1", (29 , 28)); - ("ORGN1", (27 , 26)); - ("IRGN1", (25 , 24)); - ("EPD1", (23 , 23)); - ("A1", (22 , 22)); - ("T1SZ", (21 , 16)); - ("TG0", (15 , 14)); - ("SH0", (13 , 12)); - ("ORGN0", (11 , 10)); - ("IRGN0", (9 , 8)); - ("EPD0", (7 , 7)); - ("T0SZ", (5 , 0))] - -let build_TCR_type regname = - Register regname 32 31 false - [("TBI", (20 , 20)); - ("PS", (18 , 16)); - ("TG0", (15 , 14)); - ("SH0", (13 , 12)); - ("ORGN0", (11 , 10)); - ("IRGN0", (9 , 8)); - ("T0SZ", (5 , 0))] - -let TPIDR_EL0 = Register "TPIDR_EL0" 64 63 false [] - -let TPIDR_EL1 = Register "TPIDR_EL1" 64 63 false [] - -let TPIDR_EL2 = Register "TPIDR_EL2" 64 63 false [] - -let TPIDR_EL3 = Register "TPIDR_EL3" 64 63 false [] - -let build_DBGPRCR_type regname = Register regname 32 31 false [("CORENPDRQ", (0 , 0))] - -let build_OSDLR_type regname = Register regname 32 31 false [("DLK", (0 , 0))] - -let build_EDSCR_type regname = - Register regname 32 31 false - [("RXfull", (30 , 30)); - ("TXfull", (29 , 29)); - ("ITO", (28 , 28)); - ("RXO", (27 , 27)); - ("TXU", (26 , 26)); - ("PipeAdv", (25 , 25)); - ("ITE", (24 , 24)); - ("INTdis", (23 , 22)); - ("TDA", (21 , 21)); - ("MA", (20 , 20)); - ("NS", (18 , 18)); - ("SDD", (16 , 16)); - ("HDE", (14 , 14)); - ("RW", (13 , 10)); - ("EL", (9 , 8)); - ("A", (7 , 7)); - ("ERR", (6 , 6)); - ("STATUS", (5 , 0))] - -let build_TXIDR_EL0_type regname = Register regname 64 63 false [("DEPTH", (7 , 0))] - -let build_CurrentEL_type regname = Register regname 32 31 false [("EL", (3 , 2))] - -let build_DAIF_type regname = - Register regname 32 31 false - [("D", (9 , 9)); ("A", (8 , 8)); ("I", (7 , 7)); ("F", (6 , 6))] - -let build_NZCV_type regname = - Register regname 32 31 false - [("N", (31 , 31)); ("Z", (30 , 30)); ("C", (29 , 29)); ("V", (28 , 28))] - -let SP_EL0 = Register "SP_EL0" 64 63 false [] - -let SP_EL1 = Register "SP_EL1" 64 63 false [] - -let SP_EL2 = Register "SP_EL2" 64 63 false [] - -let SP_EL3 = Register "SP_EL3" 64 63 false [] - -let build_SPSel_type regname = Register regname 32 31 false [("SP", (0 , 0))] - -let build_SPSR_type regname = - Register regname 32 31 false - [("N", (31 , 31)); - ("Z", (30 , 30)); - ("C", (29 , 29)); - ("V", (28 , 28)); - ("SS", (21 , 21)); - ("IL", (20 , 20)); - ("E", (9 , 9)); - ("A", (8 , 8)); - ("I", (7 , 7)); - ("F", (6 , 6)); - ("M4", (4 , 4)); - ("M3_0", (3 , 0))] - -let ELR_EL1 = Register "ELR_EL1" 64 63 false [] - -let ELR_EL2 = Register "ELR_EL2" 64 63 false [] - -let ELR_EL3 = Register "ELR_EL3" 64 63 false [] - -let build_DBGOSDLR_type regname = Register regname 32 31 false [("DLK", (0 , 0))] - -let PSTATE_nRW = Register "PSTATE_nRW" 1 0 false [] - -let PSTATE_E = Register "PSTATE_E" 1 0 false [] - -let PSTATE_M = Register "PSTATE_M" 5 4 false [] - -type AccType = - AccType_NORMAL - | AccType_VEC - | AccType_STREAM - | AccType_VECSTREAM - | AccType_ATOMIC - | AccType_ORDERED - | AccType_UNPRIV - | AccType_IFETCH - | AccType_PTW - | AccType_DC - | AccType_IC - | AccType_AT - - -type MBReqDomain = - MBReqDomain_Nonshareable - | MBReqDomain_InnerShareable - | MBReqDomain_OuterShareable - | MBReqDomain_FullSystem - - -type MBReqTypes = MBReqTypes_Reads | MBReqTypes_Writes | MBReqTypes_All - - -type BranchType = - BranchType_CALL - | BranchType_ERET - | BranchType_DBGEXIT - | BranchType_RET - | BranchType_JMP - | BranchType_EXCEPTION - | BranchType_UNKNOWN - - -type MoveWideOp = MoveWideOp_N | MoveWideOp_Z | MoveWideOp_K - - -type DeviceType = DeviceType_GRE | DeviceType_nGRE | DeviceType_nGnRE | DeviceType_nGnRnE - - -type Fault = - Fault_None - | Fault_AccessFlag - | Fault_Alignment - | Fault_Background - | Fault_Domain - | Fault_Permission - | Fault_Translation - | Fault_AddressSize - | Fault_SyncExternal - | Fault_SyncExternalOnWalk - | Fault_SyncParity - | Fault_SyncParityOnWalk - | Fault_AsyncParity - | Fault_AsyncExternal - | Fault_Debug - | Fault_TLBConflict - | Fault_Lockdown - | Fault_Exclusive - | Fault_ICacheMaint - - -type MemAttrHints = - <| MemAttrHints_attrs : vector bitU; - MemAttrHints_hints : vector bitU; - MemAttrHints_transient : bitU; |> - -type MemType = MemType_Normal | MemType_Device - - -type FullAddress = <| FullAddress_physicaladdress : vector bitU; FullAddress_NS : bitU; |> - -type PrefetchHint = Prefetch_READ | Prefetch_WRITE | Prefetch_EXEC - - -type CountOp = CountOp_CLZ | CountOp_CLS | CountOp_CNT - - -type ExtendType = - ExtendType_SXTB - | ExtendType_SXTH - | ExtendType_SXTW - | ExtendType_SXTX - | ExtendType_UXTB - | ExtendType_UXTH - | ExtendType_UXTW - | ExtendType_UXTX - - -type RevOp = RevOp_RBIT | RevOp_REV16 | RevOp_REV32 | RevOp_REV64 - - -type ShiftType = ShiftType_LSL | ShiftType_LSR | ShiftType_ASR | ShiftType_ROR - - -type LogicalOp = LogicalOp_AND | LogicalOp_EOR | LogicalOp_ORR - - -type MemOp = MemOp_LOAD | MemOp_STORE | MemOp_PREFETCH - - -type MemBarrierOp = MemBarrierOp_DSB | MemBarrierOp_DMB | MemBarrierOp_ISB - - -type SystemHintOp = - SystemHintOp_NOP - | SystemHintOp_YIELD - | SystemHintOp_WFE - | SystemHintOp_WFI - | SystemHintOp_SEV - | SystemHintOp_SEVL - - -type PSTATEField = PSTATEField_DAIFSet | PSTATEField_DAIFClr | PSTATEField_SP - - -type signalValue = LOw | HIGH - - - - - - - - - - - - - - -let TMAbortEffect = build_TMSTATUS_type "TMAbortEffect" - -let TMStartEffect = build_TMSTATUS_type "TMStartEffect" - -let HCR_EL2 = build_HCR_type "HCR_EL2" - -let ID_AA64MMFR0_EL1 = build_ID_AA64MMFR0_type "ID_AA64MMFR0_EL1" - -let SCR_EL3 = build_SCRType "SCR_EL3" - -let SCTLR_EL1 = build_SCTLR_EL1_type "SCTLR_EL1" - -let SCTLR_EL2 = build_SCTLR_type "SCTLR_EL2" - -let SCTLR_EL3 = build_SCTLR_type "SCTLR_EL3" - -let TCR_EL1 = build_TCR_EL1_type "TCR_EL1" - -let TCR_EL2 = build_TCR_type "TCR_EL2" - -let TCR_EL3 = build_TCR_type "TCR_EL3" - -let DBGPRCR_EL1 = build_DBGPRCR_type "DBGPRCR_EL1" - -let OSDLR_EL1 = build_OSDLR_type "OSDLR_EL1" - -let EDSCR = build_EDSCR_type "EDSCR" - -let TXIDR_EL0 = build_TXIDR_EL0_type "TXIDR_EL0" - -let CurrentEL = build_CurrentEL_type "CurrentEL" - -let DAIF = build_DAIF_type "DAIF" - -let NZCV = build_NZCV_type "NZCV" - -let SPSel = build_SPSel_type "SPSel" - -let SPSR_EL1 = build_SPSR_type "SPSR_EL1" - -let SPSR_EL2 = build_SPSR_type "SPSR_EL2" - -let SPSR_EL3 = build_SPSR_type "SPSR_EL3" - -let SCR = build_SCRType "SCR" - -let DBGOSDLR = build_DBGOSDLR_type "DBGOSDLR" - -let DBGPRCR = build_DBGPRCR_type "DBGPRCR" - -type MemoryAttributes = <| MemoryAttributes_type' : MemType; MemoryAttributes_shareable : bitU; |> - -type regfps = list regfp - -type niafps = list niafp - - - -type read_buffer_type = - <| read_buffer_type_acctype : AccType; - read_buffer_type_exclusive : bitU; - read_buffer_type_address : vector bitU; - read_buffer_type_size : uinteger; |> - -type write_buffer_type = - <| write_buffer_type_acctype : AccType; - write_buffer_type_exclusive : bitU; - write_buffer_type_address : vector bitU; - write_buffer_type_value : vector bitU; - write_buffer_type_size : uinteger; |> - -type FaultRecord = - <| FaultRecord_type' : Fault; - FaultRecord_acctype : AccType; - FaultRecord_ipaddress : vector bitU; - FaultRecord_s2fs1walk : bitU; - FaultRecord_write : bitU; - FaultRecord_level : uinteger; - FaultRecord_extflag : bitU; - FaultRecord_secondstage : bitU; - FaultRecord_domain : vector bitU; - FaultRecord_debugmoe : vector bitU; |> - - - -type ast = - | Unallocated - | ImplementationDefinedTestBeginEnd of (bitU) - | ImplementationDefinedStopFetching - | ImplementationDefinedThreadStart - | TMStart of (reg_index) - | TMCommit - | TMAbort of (bitU * vector bitU) - | TMTest - | CompareAndBranch of (reg_index * integer * bitU * vector bitU) - | BranchConditional of (vector bitU * vector bitU) - | GenerateExceptionEL1 of (vector bitU) - | GenerateExceptionEL2 of (vector bitU) - | GenerateExceptionEL3 of (vector bitU) - | DebugBreakpoint of (vector bitU) - | ExternalDebugBreakpoint - | DebugSwitchToExceptionLevel of (vector bitU) - | MoveSystemImmediate of (vector bitU * PSTATEField) - | Hint of (SystemHintOp) - | ClearExclusiveMonitor of (uinteger) - | Barrier of (MemBarrierOp * MBReqDomain * MBReqTypes) - | System of (reg_index * uinteger * uinteger * uinteger * uinteger * uinteger * bitU) - | MoveSystemRegister of (reg_index * uinteger * uinteger * uinteger * uinteger * uinteger * bitU) - | TestBitAndBranch of (reg_index * integer * uinteger * bitU * vector bitU) - | BranchImmediate of (BranchType * vector bitU) - | BranchRegister of (reg_index * BranchType) - | ExceptionReturn - | DebugRestorePState - | LoadLiteral of (reg_index * MemOp * bitU * uinteger * vector bitU * integer) - | LoadStoreAcqExc of (reg_index * reg_index * reg_index * reg_index * AccType * bitU * bitU * MemOp * uinteger * integer * integer) - | LoadStorePairNonTemp of (bitU * bitU * reg_index * reg_index * reg_index * AccType * MemOp * uinteger * integer * vector bitU) - | LoadImmediate of (reg_index * reg_index * AccType * MemOp * bitU * bitU * bitU * vector bitU * integer * integer) - | LoadRegister of (reg_index * reg_index * reg_index * AccType * MemOp * bitU * bitU * bitU * ExtendType * uinteger * integer * integer) - | LoadStorePair of (bitU * bitU * reg_index * reg_index * reg_index * AccType * MemOp * bitU * integer * vector bitU) - | AddSubImmediate of (reg_index * reg_index * integer * bitU * bitU * vector bitU) - | BitfieldMove of (reg_index * reg_index * integer * bitU * bitU * uinteger * uinteger * vector bitU * vector bitU) - | ExtractRegister of (reg_index * reg_index * reg_index * integer * uinteger) - | LogicalImmediate of (reg_index * reg_index * integer * bitU * LogicalOp * vector bitU) - | MoveWide of (reg_index * integer * vector bitU * uinteger * MoveWideOp) - | Address of (reg_index * bitU * vector bitU) - | AddSubExtendRegister of (reg_index * reg_index * reg_index * integer * bitU * bitU * ExtendType * integer) - | AddSubShiftedRegister of (reg_index * reg_index * reg_index * integer * bitU * bitU * ShiftType * integer) - | AddSubCarry of (reg_index * reg_index * reg_index * integer * bitU * bitU) - | ConditionalCompareImmediate of (reg_index * integer * bitU * vector bitU * vector bitU * vector bitU) - | ConditionalCompareRegister of (reg_index * reg_index * integer * bitU * vector bitU * vector bitU) - | ConditionalSelect of (reg_index * reg_index * reg_index * integer * vector bitU * bitU * bitU) - | Reverse of (reg_index * reg_index * integer * RevOp) - | CountLeading of (reg_index * reg_index * integer * CountOp) - | Division of (reg_index * reg_index * reg_index * integer * bitU) - | Shift of (reg_index * reg_index * reg_index * integer * ShiftType) - | CRC of (reg_index * reg_index * reg_index * integer * bitU) - | MultiplyAddSub of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU) - | MultiplyAddSubLong of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU * bitU) - | MultiplyHigh of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU) - | LogicalShiftedRegister of (reg_index * reg_index * reg_index * integer * bitU * LogicalOp * ShiftType * integer * bitU) - - -type AddressDescriptor = - <| AddressDescriptor_fault : FaultRecord; - AddressDescriptor_memattrs : MemoryAttributes; - AddressDescriptor_paddress : FullAddress; |> - diff --git a/aarch64_small/armV8_lib.h.sail b/aarch64_small/armV8_lib.h.sail index 50909c88..28be493c 100644 --- a/aarch64_small/armV8_lib.h.sail +++ b/aarch64_small/armV8_lib.h.sail @@ -153,33 +153,33 @@ struct AddressDescriptor = { enum PrefetchHint = {Prefetch_READ, Prefetch_WRITE, Prefetch_EXEC} -val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure +val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect {escape} val LSL_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure -val LSR_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure -val ROR_C : forall 'N 'S, 'N >= 0 & ('S >= 1 | 'S <= -1). (bits('N),int('S)) -> (bits('N), bit) effect pure +val LSR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure +val ROR_C : forall 'N 'S, 'N >= 1 & 'S != 0. (bits('N),atom('S)) -> (bits('N), bit) effect pure val IsZero : forall 'N, 'N >=0. bits('N) -> boolean effect pure -val Replicate : forall 'N 'M, 'N >=0 & 'M >=0. (implicit('N),bits('M)) -> bits('N) effect pure -val SignExtend : forall 'N 'M, 'N > 'M & 'M >= 1. (implicit('N),bits('M)) -> bits('N) effect pure +val Replicate : forall 'N 'M, 'N >='M & 'M >=0. (implicit('N),bits('M)) -> bits('N) effect {escape} +val SignExtend : forall 'N 'M, 'N > 'M & 'M >= 1. (implicit('N),bits('M)) -> bits('N) effect {escape} val ZeroExtend : forall 'N 'M, 'N >= 'M & 'M >= 0. (implicit('N),bits('M)) -> bits('N) effect pure val Zeros : forall 'N, 'N >=0. implicit('N) -> bits('N) effect pure -val Ones : forall 'N, 'N >=0. implicit('N) -> bits('N) effect pure +val Ones : forall 'N, 'N >=1. implicit('N) -> bits('N) effect {escape} /* val UInt : forall Nat 'N, Nat 'M, 'M = 2**'N. bits('N) -> [|'M + -1|] effect pure */ -val UInt : forall 'N, 'N >=0 . bits('N) -> range(0, 2 ^ 'N + -1) +val UInt : forall 'N, 'N >=0 . bits('N) -> range(0, 2 ^ 'N + -1) effect {escape} /* val UInt : forall 'N 'M, 'N >=0 & 'M >= 0. bits('N) -> Int('M) effect pure */ /* val SInt : forall Nat 'N, Nat 'M, Nat 'K, 'M = 'N + -1, 'K = 2**'M. bits('N) -> [|'K * -1:'K + -1|] effect pure */ -val SInt : forall 'N, 'N >= 0. bits('N) -> range(-(2 ^ ('N - 1) - 1), 2 ^ ('N - 1) - 1) effect pure +val SInt : forall 'N, 'N > 0. bits('N) -> range(-(2 ^ ('N - 1)), 2 ^ ('N - 1) - 1) effect pure val HighestSetBit : forall 'N, 'N >= 0. bits('N) -> option(range(0,'N - 1)) effect pure val CountLeadingZeroBits : forall 'N, 'N >= 0. bits('N) -> range(0,'N) effect pure -val IsSecure : unit -> boolean effect {rreg} -val IsSecureBelowEL3 : unit -> boolean effect {rreg} -val SCR_GEN : unit -> SCRType effect pure +val IsSecure : unit -> boolean effect {escape,rreg} +val IsSecureBelowEL3 : unit -> boolean effect {escape,rreg} +val SCR_GEN : unit -> SCRType effect {escape,rreg} val UsingAArch32 : unit -> boolean effect pure val ELUsingAArch32 : bits(2) -> boolean effect pure val Halted : unit -> boolean effect {rreg} -val HaveEL : bits(2) -> boolean effect pure +val HaveEL : bits(2) -> boolean effect {escape} val HaveAnyAArch32 : unit -> boolean effect pure val HighestELUsingAArch32 : unit -> boolean effect pure -val Unreachable : unit -> unit effect pure +val Unreachable : unit -> unit effect {escape} val Hint_Branch : BranchType -> unit effect pure /*************************************************************************/ @@ -211,20 +211,20 @@ enum PSTATEField = {PSTATEField_DAIFSet, PSTATEField_DAIFClr, PSTATEField_SP} val rPC : unit -> bits(64) effect {rreg} -val rSP : forall 'N, 'N in {8,16,32,64}. implicit('N) -> bits('N) effect {rreg} -val wX : forall 'N, 'N in {32,64}. (reg_index,bits('N)) -> unit effect {wreg} +val rSP : forall 'N, 'N in {8,16,32,64}. implicit('N) -> bits('N) effect {rreg,escape} +val wX : forall 'N, 'N in {8,16,32,64}. (reg_index,bits('N)) -> unit effect {wreg} val rX : forall 'N, 'N in {8,16,32,64}. (implicit('N),reg_index) -> bits('N) effect {rreg} val wV : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index,bits('N)) -> unit effect {wreg} val rV : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index) -> bits('N) effect {rreg} -val rVpart : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index,range(0,1)) -> bits('N) effect {rreg} -val SCTLR : unit -> SCTLR_type effect {rreg} +val rVpart : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index,range(0,1)) -> bits('N) effect {rreg,escape} +val SCTLR' : unit -> SCTLR_type effect {rreg,escape} val AArch64_UndefinedFault : unit -> unit effect {escape} val AArch64_TranslateAddress : (bits(64),AccType,boolean,boolean,uinteger) -> AddressDescriptor effect pure val AArch64_WFxTrap : (bits(2),boolean) -> unit effect {escape} val AArch64_AlignmentFault : (AccType,boolean,boolean) -> FaultRecord effect pure val AArch64_ResetGeneralRegisters : unit -> unit effect {wreg} val AArch64_ResetSIMDFPRegisters : unit -> unit effect {wreg} -val AArch64_ResetSpecialRegisters : unit -> unit effect {wreg} +val AArch64_ResetSpecialRegisters : unit -> unit effect {wreg,escape} val AArch64_IsExclusiveVA : (bits(64),integer,uinteger) -> boolean effect pure /*************************************************************************/ diff --git a/aarch64_small/armV8_pstate.sail b/aarch64_small/armV8_pstate.sail index 9bc88891..65b8f2bd 100644 --- a/aarch64_small/armV8_pstate.sail +++ b/aarch64_small/armV8_pstate.sail @@ -119,8 +119,8 @@ register PSTATE_M : bits(5) /* Mode field [AArc /* this is a convenient way to do "PSTATE.<N,Z,C,V> = nzcv;" */ -val wPSTATE_NZCV : (unit, bits(4)) -> unit effect {wreg} -function wPSTATE_NZCV((), [n,z,c,v]) = { +val wPSTATE_NZCV : (bits(4)) -> unit effect {wreg} +function wPSTATE_NZCV([n,z,c,v]) = { PSTATE_N() = [n]; PSTATE_Z() = [z]; PSTATE_C() = [c]; @@ -128,8 +128,8 @@ function wPSTATE_NZCV((), [n,z,c,v]) = { } /* this is a convenient way to do "PSTATE.<D,A,I,F> = daif;" */ -val wPSTATE_DAIF : (unit, bits(4)) -> unit effect {wreg} -function wPSTATE_DAIF((), [d,a,i,f]) = +val wPSTATE_DAIF : (bits(4)) -> unit effect {wreg} +function wPSTATE_DAIF([d,a,i,f]) = { PSTATE_D() = [d]; PSTATE_A() = [a]; diff --git a/aarch64_small/armV8_toFromInterp.lem b/aarch64_small/armV8_toFromInterp.lem deleted file mode 100644 index 0ce3f7f5..00000000 --- a/aarch64_small/armV8_toFromInterp.lem +++ /dev/null @@ -1,702 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed - import Interp - import Interp_ast -open import Deep_shallow_convert -let AccTypeToInterpValue = function - | AccType_NORMAL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_NORMAL") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | AccType_VEC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VEC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | AccType_STREAM -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_STREAM") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | AccType_VECSTREAM -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VECSTREAM") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | AccType_ATOMIC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ATOMIC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | AccType_ORDERED -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ORDERED") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | AccType_UNPRIV -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_UNPRIV") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 6) (toInterpValue ()) - | AccType_IFETCH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IFETCH") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 7) (toInterpValue ()) - | AccType_PTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_PTW") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 8) (toInterpValue ()) - | AccType_DC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_DC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 9) (toInterpValue ()) - | AccType_IC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 10) (toInterpValue ()) - | AccType_AT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_AT") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 11) (toInterpValue ()) - end - -let rec AccTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_NORMAL") _) _ _ v -> AccType_NORMAL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VEC") _) _ _ v -> AccType_VEC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_STREAM") _) _ _ v -> AccType_STREAM - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VECSTREAM") _) _ _ v -> AccType_VECSTREAM - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ATOMIC") _) _ _ v -> AccType_ATOMIC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ORDERED") _) _ _ v -> AccType_ORDERED - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_UNPRIV") _) _ _ v -> AccType_UNPRIV - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IFETCH") _) _ _ v -> AccType_IFETCH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_PTW") _) _ _ v -> AccType_PTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_DC") _) _ _ v -> AccType_DC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IC") _) _ _ v -> AccType_IC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_AT") _) _ _ v -> AccType_AT - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> AccType_NORMAL - | 1 -> AccType_VEC - | 2 -> AccType_STREAM - | 3 -> AccType_VECSTREAM - | 4 -> AccType_ATOMIC - | 5 -> AccType_ORDERED - | 6 -> AccType_UNPRIV - | 7 -> AccType_IFETCH - | 8 -> AccType_PTW - | 9 -> AccType_DC - | 10 -> AccType_IC - | 11 -> AccType_AT - end - | Interp_ast.V_tuple [v] -> AccTypeFromInterpValue v - | v -> failwith ("fromInterpValue AccType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue AccType) - let toInterpValue = AccTypeToInterpValue - let fromInterpValue = AccTypeFromInterpValue -end -let MBReqDomainToInterpValue = function - | MBReqDomain_Nonshareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_Nonshareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MBReqDomain_InnerShareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_InnerShareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MBReqDomain_OuterShareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_OuterShareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 2) (toInterpValue ()) - | MBReqDomain_FullSystem -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_FullSystem") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec MBReqDomainFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_Nonshareable") _) _ _ v -> MBReqDomain_Nonshareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_InnerShareable") _) _ _ v -> MBReqDomain_InnerShareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_OuterShareable") _) _ _ v -> MBReqDomain_OuterShareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_FullSystem") _) _ _ v -> MBReqDomain_FullSystem - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MBReqDomain_Nonshareable - | 1 -> MBReqDomain_InnerShareable - | 2 -> MBReqDomain_OuterShareable - | 3 -> MBReqDomain_FullSystem - end - | Interp_ast.V_tuple [v] -> MBReqDomainFromInterpValue v - | v -> failwith ("fromInterpValue MBReqDomain: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MBReqDomain) - let toInterpValue = MBReqDomainToInterpValue - let fromInterpValue = MBReqDomainFromInterpValue -end -let MBReqTypesToInterpValue = function - | MBReqTypes_Reads -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Reads") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MBReqTypes_Writes -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Writes") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MBReqTypes_All -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_All") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MBReqTypesFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Reads") _) _ _ v -> MBReqTypes_Reads - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Writes") _) _ _ v -> MBReqTypes_Writes - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_All") _) _ _ v -> MBReqTypes_All - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MBReqTypes_Reads - | 1 -> MBReqTypes_Writes - | 2 -> MBReqTypes_All - end - | Interp_ast.V_tuple [v] -> MBReqTypesFromInterpValue v - | v -> failwith ("fromInterpValue MBReqTypes: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MBReqTypes) - let toInterpValue = MBReqTypesToInterpValue - let fromInterpValue = MBReqTypesFromInterpValue -end -let BranchTypeToInterpValue = function - | BranchType_CALL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_CALL") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | BranchType_ERET -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_ERET") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | BranchType_DBGEXIT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_DBGEXIT") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | BranchType_RET -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_RET") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | BranchType_JMP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_JMP") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | BranchType_EXCEPTION -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_EXCEPTION") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | BranchType_UNKNOWN -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_UNKNOWN") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 6) (toInterpValue ()) - end - -let rec BranchTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_CALL") _) _ _ v -> BranchType_CALL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_ERET") _) _ _ v -> BranchType_ERET - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_DBGEXIT") _) _ _ v -> BranchType_DBGEXIT - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_RET") _) _ _ v -> BranchType_RET - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_JMP") _) _ _ v -> BranchType_JMP - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_EXCEPTION") _) _ _ v -> BranchType_EXCEPTION - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_UNKNOWN") _) _ _ v -> BranchType_UNKNOWN - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> BranchType_CALL - | 1 -> BranchType_ERET - | 2 -> BranchType_DBGEXIT - | 3 -> BranchType_RET - | 4 -> BranchType_JMP - | 5 -> BranchType_EXCEPTION - | 6 -> BranchType_UNKNOWN - end - | Interp_ast.V_tuple [v] -> BranchTypeFromInterpValue v - | v -> failwith ("fromInterpValue BranchType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue BranchType) - let toInterpValue = BranchTypeToInterpValue - let fromInterpValue = BranchTypeFromInterpValue -end -let MoveWideOpToInterpValue = function - | MoveWideOp_N -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_N") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MoveWideOp_Z -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_Z") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MoveWideOp_K -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_K") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MoveWideOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_N") _) _ _ v -> MoveWideOp_N - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_Z") _) _ _ v -> MoveWideOp_Z - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_K") _) _ _ v -> MoveWideOp_K - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MoveWideOp_N - | 1 -> MoveWideOp_Z - | 2 -> MoveWideOp_K - end - | Interp_ast.V_tuple [v] -> MoveWideOpFromInterpValue v - | v -> failwith ("fromInterpValue MoveWideOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MoveWideOp) - let toInterpValue = MoveWideOpToInterpValue - let fromInterpValue = MoveWideOpFromInterpValue -end -let DeviceTypeToInterpValue = function - | DeviceType_GRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_GRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | DeviceType_nGRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | DeviceType_nGnRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | DeviceType_nGnRnE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRnE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec DeviceTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_GRE") _) _ _ v -> DeviceType_GRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGRE") _) _ _ v -> DeviceType_nGRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRE") _) _ _ v -> DeviceType_nGnRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRnE") _) _ _ v -> DeviceType_nGnRnE - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> DeviceType_GRE - | 1 -> DeviceType_nGRE - | 2 -> DeviceType_nGnRE - | 3 -> DeviceType_nGnRnE - end - | Interp_ast.V_tuple [v] -> DeviceTypeFromInterpValue v - | v -> failwith ("fromInterpValue DeviceType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue DeviceType) - let toInterpValue = DeviceTypeToInterpValue - let fromInterpValue = DeviceTypeFromInterpValue -end -let FaultToInterpValue = function - | Fault_None -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_None") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 0) (toInterpValue ()) - | Fault_AccessFlag -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AccessFlag") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 1) (toInterpValue ()) - | Fault_Alignment -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Alignment") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 2) (toInterpValue ()) - | Fault_Background -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Background") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 3) (toInterpValue ()) - | Fault_Domain -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Domain") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 4) (toInterpValue ()) - | Fault_Permission -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Permission") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 5) (toInterpValue ()) - | Fault_Translation -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Translation") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 6) (toInterpValue ()) - | Fault_AddressSize -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AddressSize") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 7) (toInterpValue ()) - | Fault_SyncExternal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternal") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 8) (toInterpValue ()) - | Fault_SyncExternalOnWalk -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternalOnWalk") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 9) (toInterpValue ()) - | Fault_SyncParity -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParity") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 10) (toInterpValue ()) - | Fault_SyncParityOnWalk -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParityOnWalk") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 11) (toInterpValue ()) - | Fault_AsyncParity -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncParity") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 12) (toInterpValue ()) - | Fault_AsyncExternal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncExternal") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 13) (toInterpValue ()) - | Fault_Debug -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Debug") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 14) (toInterpValue ()) - | Fault_TLBConflict -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_TLBConflict") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 15) (toInterpValue ()) - | Fault_Lockdown -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Lockdown") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 16) (toInterpValue ()) - | Fault_Exclusive -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Exclusive") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 17) (toInterpValue ()) - | Fault_ICacheMaint -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_ICacheMaint") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 18) (toInterpValue ()) - end - -let rec FaultFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_None") _) _ _ v -> Fault_None - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AccessFlag") _) _ _ v -> Fault_AccessFlag - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Alignment") _) _ _ v -> Fault_Alignment - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Background") _) _ _ v -> Fault_Background - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Domain") _) _ _ v -> Fault_Domain - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Permission") _) _ _ v -> Fault_Permission - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Translation") _) _ _ v -> Fault_Translation - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AddressSize") _) _ _ v -> Fault_AddressSize - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternal") _) _ _ v -> Fault_SyncExternal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternalOnWalk") _) _ _ v -> Fault_SyncExternalOnWalk - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParity") _) _ _ v -> Fault_SyncParity - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParityOnWalk") _) _ _ v -> Fault_SyncParityOnWalk - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncParity") _) _ _ v -> Fault_AsyncParity - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncExternal") _) _ _ v -> Fault_AsyncExternal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Debug") _) _ _ v -> Fault_Debug - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_TLBConflict") _) _ _ v -> Fault_TLBConflict - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Lockdown") _) _ _ v -> Fault_Lockdown - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Exclusive") _) _ _ v -> Fault_Exclusive - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_ICacheMaint") _) _ _ v -> Fault_ICacheMaint - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> Fault_None - | 1 -> Fault_AccessFlag - | 2 -> Fault_Alignment - | 3 -> Fault_Background - | 4 -> Fault_Domain - | 5 -> Fault_Permission - | 6 -> Fault_Translation - | 7 -> Fault_AddressSize - | 8 -> Fault_SyncExternal - | 9 -> Fault_SyncExternalOnWalk - | 10 -> Fault_SyncParity - | 11 -> Fault_SyncParityOnWalk - | 12 -> Fault_AsyncParity - | 13 -> Fault_AsyncExternal - | 14 -> Fault_Debug - | 15 -> Fault_TLBConflict - | 16 -> Fault_Lockdown - | 17 -> Fault_Exclusive - | 18 -> Fault_ICacheMaint - end - | Interp_ast.V_tuple [v] -> FaultFromInterpValue v - | v -> failwith ("fromInterpValue Fault: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue Fault) - let toInterpValue = FaultToInterpValue - let fromInterpValue = FaultFromInterpValue -end -let MemTypeToInterpValue = function - | MemType_Normal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Normal") Interp_ast.Unknown) (Interp_ast.T_id "MemType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemType_Device -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Device") Interp_ast.Unknown) (Interp_ast.T_id "MemType") (Interp_ast.C_Enum 1) (toInterpValue ()) - end - -let rec MemTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Normal") _) _ _ v -> MemType_Normal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Device") _) _ _ v -> MemType_Device - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemType_Normal - | 1 -> MemType_Device - end - | Interp_ast.V_tuple [v] -> MemTypeFromInterpValue v - | v -> failwith ("fromInterpValue MemType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemType) - let toInterpValue = MemTypeToInterpValue - let fromInterpValue = MemTypeFromInterpValue -end -let PrefetchHintToInterpValue = function - | Prefetch_READ -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_READ") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 0) (toInterpValue ()) - | Prefetch_WRITE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_WRITE") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 1) (toInterpValue ()) - | Prefetch_EXEC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_EXEC") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec PrefetchHintFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_READ") _) _ _ v -> Prefetch_READ - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_WRITE") _) _ _ v -> Prefetch_WRITE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_EXEC") _) _ _ v -> Prefetch_EXEC - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> Prefetch_READ - | 1 -> Prefetch_WRITE - | 2 -> Prefetch_EXEC - end - | Interp_ast.V_tuple [v] -> PrefetchHintFromInterpValue v - | v -> failwith ("fromInterpValue PrefetchHint: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue PrefetchHint) - let toInterpValue = PrefetchHintToInterpValue - let fromInterpValue = PrefetchHintFromInterpValue -end -let CountOpToInterpValue = function - | CountOp_CLZ -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLZ") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | CountOp_CLS -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLS") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | CountOp_CNT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CNT") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec CountOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLZ") _) _ _ v -> CountOp_CLZ - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLS") _) _ _ v -> CountOp_CLS - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CNT") _) _ _ v -> CountOp_CNT - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> CountOp_CLZ - | 1 -> CountOp_CLS - | 2 -> CountOp_CNT - end - | Interp_ast.V_tuple [v] -> CountOpFromInterpValue v - | v -> failwith ("fromInterpValue CountOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue CountOp) - let toInterpValue = CountOpToInterpValue - let fromInterpValue = CountOpFromInterpValue -end -let ExtendTypeToInterpValue = function - | ExtendType_SXTB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTB") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | ExtendType_SXTH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTH") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | ExtendType_SXTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTW") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | ExtendType_SXTX -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTX") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | ExtendType_UXTB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTB") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | ExtendType_UXTH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTH") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | ExtendType_UXTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTW") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 6) (toInterpValue ()) - | ExtendType_UXTX -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTX") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 7) (toInterpValue ()) - end - -let rec ExtendTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTB") _) _ _ v -> ExtendType_SXTB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTH") _) _ _ v -> ExtendType_SXTH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTW") _) _ _ v -> ExtendType_SXTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTX") _) _ _ v -> ExtendType_SXTX - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTB") _) _ _ v -> ExtendType_UXTB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTH") _) _ _ v -> ExtendType_UXTH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTW") _) _ _ v -> ExtendType_UXTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTX") _) _ _ v -> ExtendType_UXTX - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> ExtendType_SXTB - | 1 -> ExtendType_SXTH - | 2 -> ExtendType_SXTW - | 3 -> ExtendType_SXTX - | 4 -> ExtendType_UXTB - | 5 -> ExtendType_UXTH - | 6 -> ExtendType_UXTW - | 7 -> ExtendType_UXTX - end - | Interp_ast.V_tuple [v] -> ExtendTypeFromInterpValue v - | v -> failwith ("fromInterpValue ExtendType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ExtendType) - let toInterpValue = ExtendTypeToInterpValue - let fromInterpValue = ExtendTypeFromInterpValue -end -let RevOpToInterpValue = function - | RevOp_RBIT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_RBIT") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | RevOp_REV16 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV16") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | RevOp_REV32 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV32") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - | RevOp_REV64 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV64") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec RevOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_RBIT") _) _ _ v -> RevOp_RBIT - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV16") _) _ _ v -> RevOp_REV16 - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV32") _) _ _ v -> RevOp_REV32 - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV64") _) _ _ v -> RevOp_REV64 - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> RevOp_RBIT - | 1 -> RevOp_REV16 - | 2 -> RevOp_REV32 - | 3 -> RevOp_REV64 - end - | Interp_ast.V_tuple [v] -> RevOpFromInterpValue v - | v -> failwith ("fromInterpValue RevOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue RevOp) - let toInterpValue = RevOpToInterpValue - let fromInterpValue = RevOpFromInterpValue -end -let ShiftTypeToInterpValue = function - | ShiftType_LSL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSL") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | ShiftType_LSR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | ShiftType_ASR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ASR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | ShiftType_ROR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ROR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec ShiftTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSL") _) _ _ v -> ShiftType_LSL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSR") _) _ _ v -> ShiftType_LSR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ASR") _) _ _ v -> ShiftType_ASR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ROR") _) _ _ v -> ShiftType_ROR - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> ShiftType_LSL - | 1 -> ShiftType_LSR - | 2 -> ShiftType_ASR - | 3 -> ShiftType_ROR - end - | Interp_ast.V_tuple [v] -> ShiftTypeFromInterpValue v - | v -> failwith ("fromInterpValue ShiftType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ShiftType) - let toInterpValue = ShiftTypeToInterpValue - let fromInterpValue = ShiftTypeFromInterpValue -end -let LogicalOpToInterpValue = function - | LogicalOp_AND -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_AND") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | LogicalOp_EOR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_EOR") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | LogicalOp_ORR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_ORR") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec LogicalOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_AND") _) _ _ v -> LogicalOp_AND - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_EOR") _) _ _ v -> LogicalOp_EOR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_ORR") _) _ _ v -> LogicalOp_ORR - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> LogicalOp_AND - | 1 -> LogicalOp_EOR - | 2 -> LogicalOp_ORR - end - | Interp_ast.V_tuple [v] -> LogicalOpFromInterpValue v - | v -> failwith ("fromInterpValue LogicalOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue LogicalOp) - let toInterpValue = LogicalOpToInterpValue - let fromInterpValue = LogicalOpFromInterpValue -end -let MemOpToInterpValue = function - | MemOp_LOAD -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_LOAD") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemOp_STORE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_STORE") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MemOp_PREFETCH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_PREFETCH") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MemOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_LOAD") _) _ _ v -> MemOp_LOAD - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_STORE") _) _ _ v -> MemOp_STORE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_PREFETCH") _) _ _ v -> MemOp_PREFETCH - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemOp_LOAD - | 1 -> MemOp_STORE - | 2 -> MemOp_PREFETCH - end - | Interp_ast.V_tuple [v] -> MemOpFromInterpValue v - | v -> failwith ("fromInterpValue MemOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemOp) - let toInterpValue = MemOpToInterpValue - let fromInterpValue = MemOpFromInterpValue -end -let MemBarrierOpToInterpValue = function - | MemBarrierOp_DSB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DSB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemBarrierOp_DMB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DMB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MemBarrierOp_ISB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_ISB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MemBarrierOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DSB") _) _ _ v -> MemBarrierOp_DSB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DMB") _) _ _ v -> MemBarrierOp_DMB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_ISB") _) _ _ v -> MemBarrierOp_ISB - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemBarrierOp_DSB - | 1 -> MemBarrierOp_DMB - | 2 -> MemBarrierOp_ISB - end - | Interp_ast.V_tuple [v] -> MemBarrierOpFromInterpValue v - | v -> failwith ("fromInterpValue MemBarrierOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemBarrierOp) - let toInterpValue = MemBarrierOpToInterpValue - let fromInterpValue = MemBarrierOpFromInterpValue -end -let SystemHintOpToInterpValue = function - | SystemHintOp_NOP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_NOP") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | SystemHintOp_YIELD -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_YIELD") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | SystemHintOp_WFE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFE") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - | SystemHintOp_WFI -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFI") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 3) (toInterpValue ()) - | SystemHintOp_SEV -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEV") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 4) (toInterpValue ()) - | SystemHintOp_SEVL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEVL") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 5) (toInterpValue ()) - end - -let rec SystemHintOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_NOP") _) _ _ v -> SystemHintOp_NOP - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_YIELD") _) _ _ v -> SystemHintOp_YIELD - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFE") _) _ _ v -> SystemHintOp_WFE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFI") _) _ _ v -> SystemHintOp_WFI - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEV") _) _ _ v -> SystemHintOp_SEV - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEVL") _) _ _ v -> SystemHintOp_SEVL - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> SystemHintOp_NOP - | 1 -> SystemHintOp_YIELD - | 2 -> SystemHintOp_WFE - | 3 -> SystemHintOp_WFI - | 4 -> SystemHintOp_SEV - | 5 -> SystemHintOp_SEVL - end - | Interp_ast.V_tuple [v] -> SystemHintOpFromInterpValue v - | v -> failwith ("fromInterpValue SystemHintOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue SystemHintOp) - let toInterpValue = SystemHintOpToInterpValue - let fromInterpValue = SystemHintOpFromInterpValue -end -let PSTATEFieldToInterpValue = function - | PSTATEField_DAIFSet -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFSet") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 0) (toInterpValue ()) - | PSTATEField_DAIFClr -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFClr") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 1) (toInterpValue ()) - | PSTATEField_SP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_SP") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec PSTATEFieldFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFSet") _) _ _ v -> PSTATEField_DAIFSet - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFClr") _) _ _ v -> PSTATEField_DAIFClr - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_SP") _) _ _ v -> PSTATEField_SP - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> PSTATEField_DAIFSet - | 1 -> PSTATEField_DAIFClr - | 2 -> PSTATEField_SP - end - | Interp_ast.V_tuple [v] -> PSTATEFieldFromInterpValue v - | v -> failwith ("fromInterpValue PSTATEField: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue PSTATEField) - let toInterpValue = PSTATEFieldToInterpValue - let fromInterpValue = PSTATEFieldFromInterpValue -end -let signalValueToInterpValue = function - | LOw -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LOw") Interp_ast.Unknown) (Interp_ast.T_id "signalValue") (Interp_ast.C_Enum 0) (toInterpValue ()) - | HIGH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "HIGH") Interp_ast.Unknown) (Interp_ast.T_id "signalValue") (Interp_ast.C_Enum 1) (toInterpValue ()) - end - -let rec signalValueFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LOw") _) _ _ v -> LOw - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "HIGH") _) _ _ v -> HIGH - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> LOw - | 1 -> HIGH - end - | Interp_ast.V_tuple [v] -> signalValueFromInterpValue v - | v -> failwith ("fromInterpValue signalValue: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue signalValue) - let toInterpValue = signalValueToInterpValue - let fromInterpValue = signalValueFromInterpValue -end -let astToInterpValue = function - | Unallocated -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Unallocated") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | ImplementationDefinedTestBeginEnd v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedTestBeginEnd") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ImplementationDefinedStopFetching -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedStopFetching") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | ImplementationDefinedThreadStart -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedThreadStart") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | TMStart v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMStart") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TMCommit -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMCommit") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | TMAbort v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMAbort") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TMTest -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMTest") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | CompareAndBranch v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CompareAndBranch") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchConditional v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchConditional") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL1 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL1") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL2 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL2") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL3 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL3") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | DebugBreakpoint v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugBreakpoint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExternalDebugBreakpoint -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExternalDebugBreakpoint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | DebugSwitchToExceptionLevel v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugSwitchToExceptionLevel") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveSystemImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Hint v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Hint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ClearExclusiveMonitor v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ClearExclusiveMonitor") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Barrier v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Barrier") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | System v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "System") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveSystemRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TestBitAndBranch v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TestBitAndBranch") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExceptionReturn -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExceptionReturn") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | DebugRestorePState -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugRestorePState") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | LoadLiteral v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadLiteral") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStoreAcqExc v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStoreAcqExc") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStorePairNonTemp v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePairNonTemp") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStorePair v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePair") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BitfieldMove v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BitfieldMove") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExtractRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtractRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LogicalImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveWide v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWide") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Address v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Address") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubExtendRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubExtendRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubShiftedRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubShiftedRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubCarry v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubCarry") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalCompareImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalCompareRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalSelect v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalSelect") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Reverse v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Reverse") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | CountLeading v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountLeading") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Division v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Division") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Shift v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Shift") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | CRC v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CRC") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyAddSub v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSub") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyAddSubLong v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSubLong") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyHigh v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyHigh") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LogicalShiftedRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalShiftedRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - end - -let rec astFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Unallocated") _) _ _ v -> Unallocated - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedTestBeginEnd") _) _ _ v -> ImplementationDefinedTestBeginEnd (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedStopFetching") _) _ _ v -> ImplementationDefinedStopFetching - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedThreadStart") _) _ _ v -> ImplementationDefinedThreadStart - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMStart") _) _ _ v -> TMStart (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMCommit") _) _ _ v -> TMCommit - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMAbort") _) _ _ v -> TMAbort (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMTest") _) _ _ v -> TMTest - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CompareAndBranch") _) _ _ v -> CompareAndBranch (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchConditional") _) _ _ v -> BranchConditional (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL1") _) _ _ v -> GenerateExceptionEL1 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL2") _) _ _ v -> GenerateExceptionEL2 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL3") _) _ _ v -> GenerateExceptionEL3 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugBreakpoint") _) _ _ v -> DebugBreakpoint (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExternalDebugBreakpoint") _) _ _ v -> ExternalDebugBreakpoint - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugSwitchToExceptionLevel") _) _ _ v -> DebugSwitchToExceptionLevel (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemImmediate") _) _ _ v -> MoveSystemImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Hint") _) _ _ v -> Hint (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ClearExclusiveMonitor") _) _ _ v -> ClearExclusiveMonitor (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Barrier") _) _ _ v -> Barrier (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "System") _) _ _ v -> System (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemRegister") _) _ _ v -> MoveSystemRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TestBitAndBranch") _) _ _ v -> TestBitAndBranch (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchImmediate") _) _ _ v -> BranchImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchRegister") _) _ _ v -> BranchRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExceptionReturn") _) _ _ v -> ExceptionReturn - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugRestorePState") _) _ _ v -> DebugRestorePState - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadLiteral") _) _ _ v -> LoadLiteral (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStoreAcqExc") _) _ _ v -> LoadStoreAcqExc (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePairNonTemp") _) _ _ v -> LoadStorePairNonTemp (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadImmediate") _) _ _ v -> LoadImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadRegister") _) _ _ v -> LoadRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePair") _) _ _ v -> LoadStorePair (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubImmediate") _) _ _ v -> AddSubImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BitfieldMove") _) _ _ v -> BitfieldMove (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtractRegister") _) _ _ v -> ExtractRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalImmediate") _) _ _ v -> LogicalImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWide") _) _ _ v -> MoveWide (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Address") _) _ _ v -> Address (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubExtendRegister") _) _ _ v -> AddSubExtendRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubShiftedRegister") _) _ _ v -> AddSubShiftedRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubCarry") _) _ _ v -> AddSubCarry (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareImmediate") _) _ _ v -> ConditionalCompareImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareRegister") _) _ _ v -> ConditionalCompareRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalSelect") _) _ _ v -> ConditionalSelect (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Reverse") _) _ _ v -> Reverse (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountLeading") _) _ _ v -> CountLeading (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Division") _) _ _ v -> Division (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Shift") _) _ _ v -> Shift (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CRC") _) _ _ v -> CRC (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSub") _) _ _ v -> MultiplyAddSub (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSubLong") _) _ _ v -> MultiplyAddSubLong (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyHigh") _) _ _ v -> MultiplyHigh (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalShiftedRegister") _) _ _ v -> LogicalShiftedRegister (fromInterpValue v) - | Interp_ast.V_tuple [v] -> astFromInterpValue v - | v -> failwith ("fromInterpValue ast: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ast) - let toInterpValue = astToInterpValue - let fromInterpValue = astFromInterpValue -end diff --git a/aarch64_small/prelude.sail b/aarch64_small/prelude.sail index e16e0a98..ffb91630 100644 --- a/aarch64_small/prelude.sail +++ b/aarch64_small/prelude.sail @@ -1,3 +1,7 @@ +let b1 = bitone +let b0 = bitzero + + /* default Order dec */ val "reg_deref" : forall ('a : Type). register('a) -> 'a effect {rreg} @@ -22,13 +26,20 @@ infix 7 >> infix 7 << infix 7 ^^ -val operator >> = "shift_bits_right" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) -val operator << = "shift_bits_left" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_bits_left = "shift_bits_left" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_bits_right = "shift_bits_right" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_left = "shiftl" : forall 'm. (bits('m), int) -> bits('m) +val shift_right = "shiftr" : forall 'm. (bits('m), int) -> bits('m) + +overload operator << = {shift_bits_left, shift_left} +overload operator >> = {shift_bits_right, shift_right} + val replicate_bits = "replicate_bits" : forall 'n 'm. (bits('n), atom('m)) -> bits('n * 'm) val operator ^^ = "replicate_bits" : forall 'n 'm. (bits('n), atom('m)) -> bits('n * 'm) + infix 4 <_s infix 4 >=_s infix 4 <_u @@ -56,27 +67,28 @@ overload pow2 = {pow2_atom, pow2_int} val cast cast_bool_bit : bool -> bit function cast_bool_bit(b) = match b { - true => bitzero, - false => bitone + true => b0, + false => b1 } val cast cast_bit_bool : bit -> bool function cast_bit_bool (b) = match b { - bitzero => false, - bitone => true + b0 => false, + b1 => true } val and_bits = {c:"and_bits", _: "and_vec"} : forall 'n. (bits('n), bits('n)) -> bits('n) - overload operator & = {and_bool, and_bits} +val or_bits = {c:"or_bits", _: "or_vec"} : forall 'n. (bits('n), bits('n)) -> bits('n) +overload operator | = {or_bool, or_bits} -val not_vec = {c:"not_bits", _:"not_vec"} : forall 'n. bits('n) -> bits('n) +val not_vec = {c:"not_bits", _:"not_vec"} : forall 'n. bits('n) -> bits('n) overload ~ = {not_bool, not_vec} val eq_anything = {ocaml: "(fun (x, y) -> x = y)", lem: "eq", coq: "generic_eq", _:"eq_anything"} : forall ('a : Type). ('a, 'a) -> bool @@ -92,12 +104,30 @@ function neq_anything (x, y) = not_bool(x == y) overload operator != = {neq_atom, neq_int, neq_vec, neq_anything} +val add_int = {ocaml: "add_int", lem: "integerAdd", c: "add_int", coq: "Z.add"} : forall 'n 'm. + (int('n), int('m)) -> int('n + 'm) +val add_vec = {c: "add_bits", _: "add_vec"} : forall 'n. (bits('n), bits('n)) -> bits('n) +val add_vec_int = {c: "add_bits_int", _: "add_vec_int"} : forall 'n. (bits('n), int) -> bits('n) +overload operator + = {add_int, add_vec, add_vec_int} + +val sub_int = {ocaml: "sub_int", lem: "integerMinus", c: "sub_int", coq: "Z.sub"} : forall 'n 'm. + (int('n), int('m)) -> int('n - 'm) +val sub_nat = {ocaml: "(fun (x,y) -> let n = sub_int (x,y) in if Big_int.less_equal n Big_int.zero then Big_int.zero else n)", + lem: "integerMinus", coq: "sub_nat", c: "sub_nat"} + : (nat, nat) -> nat +val sub_vec = {c: "sub_bits", _: "sub_vec"} : forall 'n. (bits('n), bits('n)) -> bits('n) +val sub_vec_int = {c: "sub_bits_int", _: "sub_vec_int"} : forall 'n. (bits('n), int) -> bits('n) +overload operator - = {sub_int, sub_vec, sub_vec_int} + + /* val reg_index : reg_size -> reg_index */ /* function reg_index x = unsigned(x) */ -val quotient_nat = {ocaml: "quotient", lem: "integerDiv"} : (nat, nat) -> nat -val quotient = {ocaml: "quotient", lem: "integerDiv"} : (int, int) -> int +val quotient_nat = {ocaml: "quotient", lem: "integerDiv"} : + forall 'M 'N, 'M >= 0 & 'N >= 0. (atom('M), atom('N)) -> atom(div('M,'N)) +val quotient = {ocaml: "quotient", lem: "integerDiv"} : + forall 'M 'N. (atom('M), atom('N)) -> atom(div('M,'N)) overload quot = {quotient_nat, quotient} @@ -115,3 +145,32 @@ val xor_vec = {c: "xor_bits", _: "xor_vec"} : forall 'n. (bits('n), bits('n)) -> val int_power = {ocaml: "int_power", lem: "pow", coq: "pow", c: "pow_int"} : (int, int) -> int overload operator ^ = {xor_vec, int_power, concat_str} + + +val mask : forall 'l 'm, 'l >= 0 & 'm >= 0. (implicit('l), bits('m)) -> bits('l) + + +/* put this val spec into Sail lib for "%" */ + +val mod = { + smt: "mod", + ocaml: "modulus", + lem: "integerMod", + c: "tmod_int", + coq: "Z.rem" +} : forall 'M 'N. (atom('M), atom('N)) -> {'O, 0 <= 'O & 'O < N . atom('O)} + +/* overload operator % = {mod_int} */ + +val print = "print_endline" : string -> unit + +val error : forall ('a : Type). string -> 'a effect{escape} +function error(message) = { + print(message); + exit() +} + +type min ('M : Int, 'N : Int) = {'O, ('O == 'M | 'O == 'N) & 'O <= 'M & 'O <= 'N. atom('O)} + + +val appendL : forall ('a:Type). (list('a),list('a)) -> list('a) diff --git a/doc/usage.tex b/doc/usage.tex index 2711fff5..a7532ddf 100644 --- a/doc/usage.tex +++ b/doc/usage.tex @@ -87,10 +87,14 @@ To compile Sail into C, the \verb+-c+ option is used, like so: \begin{verbatim} sail -c FILES 1> out.c \end{verbatim} -The transated C is currently printed to stdout, so this should be -redirected to a file as above. To produce an executable this needs to -be compiled and linked with the C files in the \verb+sail/lib+ -directory: +The transated C is by default printed to stdout, but one can also use +the \verb+-o+ option to output to a file, so +\begin{verbatim} +sail -c FILES -o out +\end{verbatim} +will generate a file called \verb+out.c+. To produce an executable +this needs to be compiled and linked with the C files in the +\verb+sail/lib+ directory: \begin{verbatim} gcc out.c $SAIL_DIR/lib/*.c -lgmp -lz -I $SAIL_DIR/lib/ -o out \end{verbatim} diff --git a/lib/arith.sail b/lib/arith.sail index 93500794..a1eef9f0 100644 --- a/lib/arith.sail +++ b/lib/arith.sail @@ -96,7 +96,7 @@ val mod_int = { lem: "integerMod", c: "tmod_int", coq: "Z.rem" -} : (int, int) -> int +} : (int, int) -> nat overload operator % = {mod_int} @@ -107,6 +107,6 @@ val abs_int = { lem: "abs_int", c: "abs_int", coq: "Z.abs" -} : (int, int) -> int +} : int -> int $endif diff --git a/lib/coq/Sail2_prompt.v b/lib/coq/Sail2_prompt.v index bd0d7750..bae8381e 100644 --- a/lib/coq/Sail2_prompt.v +++ b/lib/coq/Sail2_prompt.v @@ -57,9 +57,37 @@ Definition foreach_ZM_down {rv e Vars} from to step vars body `{ArithFact (0 < s Definition and_boolM {rv E} (l : monad rv bool E) (r : monad rv bool E) : monad rv bool E := l >>= (fun l => if l then r else returnm false). +Definition and_boolMP {rv E} {P Q R:bool->Prop} (x : monad rv {b:bool & ArithFact (P b)} E) (y : monad rv {b:bool & ArithFact (Q b)} E) + `{H:ArithFact (forall l r, P l -> (l = true -> Q r) -> R (andb l r))} + : monad rv {b:bool & ArithFact (R b)} E. +refine ( + x >>= fun '(existT _ x (Build_ArithFact _ p)) => (if x return P x -> _ then + fun p => y >>= fun '(existT _ y _) => returnm (existT _ y _) + else fun p => returnm (existT _ false _)) p +). +* constructor. destruct H. destruct a0. change y with (andb true y). auto. +* constructor. destruct H. change false with (andb false false). apply fact. + assumption. + congruence. +Defined. + (*val or_boolM : forall 'rv 'e. monad 'rv bool 'e -> monad 'rv bool 'e -> monad 'rv bool 'e*) Definition or_boolM {rv E} (l : monad rv bool E) (r : monad rv bool E) : monad rv bool E := l >>= (fun l => if l then returnm true else r). +Definition or_boolMP {rv E} {P Q R:bool -> Prop} (l : monad rv {b : bool & ArithFact (P b)} E) (r : monad rv {b : bool & ArithFact (Q b)} E) + `{ArithFact (forall l r, P l -> (l = false -> Q r) -> R (orb l r))} + : monad rv {b : bool & ArithFact (R b)} E. +refine ( + l >>= fun '(existT _ l (Build_ArithFact _ p)) => + (if l return P l -> _ then fun p => returnm (existT _ true _) + else fun p => r >>= fun '(existT _ r _) => returnm (existT _ r _)) p +). +* constructor. destruct H. change true with (orb true true). apply fact. assumption. congruence. +* constructor. destruct H. destruct a0. change r with (orb false r). auto. +Defined. + +Definition build_trivial_ex {rv E} {T:Type} (x:monad rv T E) : monad rv {x : T & ArithFact True} E := + x >>= fun x => returnm (existT _ x (Build_ArithFact _ I)). (*val bool_of_bitU_fail : forall 'rv 'e. bitU -> monad 'rv bool 'e*) Definition bool_of_bitU_fail {rv E} (b : bitU) : monad rv bool E := diff --git a/lib/coq/Sail2_string.v b/lib/coq/Sail2_string.v index 0a00f8d7..543b0fad 100644 --- a/lib/coq/Sail2_string.v +++ b/lib/coq/Sail2_string.v @@ -188,3 +188,6 @@ Definition decimal_string_of_bv {a} `{Bitvector a} (bv : a) : string := Definition decimal_string_of_bits {n} (bv : mword n) : string := decimal_string_of_bv bv. +(* Some aliases for compatibility. *) +Definition dec_str := string_of_int. +Definition concat_str := String.append. diff --git a/lib/coq/Sail2_values.v b/lib/coq/Sail2_values.v index 943d850a..e6c5e786 100644 --- a/lib/coq/Sail2_values.v +++ b/lib/coq/Sail2_values.v @@ -45,25 +45,6 @@ End Morphism. Definition build_ex {T:Type} (n:T) {P:T -> Prop} `{H:ArithFact (P n)} : {x : T & ArithFact (P x)} := existT _ n H. -(* The informative boolean type. *) - -Definition Bool (P : Prop) : Type := {P} + {~P}. - -Definition build_Bool {P:Prop} (b:bool) `{ArithFact (b = true <-> P)} : Bool P. -refine (if sumbool_of_bool b then left _ else right _); -destruct H; subst; -intuition. -Defined. - -Definition projBool {P:Prop} (b:Bool P) : bool := if b then true else false. - -Lemma projBool_true {P:Prop} {b:Bool P} : projBool b = true <-> P. -destruct b; simpl; intuition. -Qed. -Lemma projBool_false {P:Prop} {b:Bool P} : projBool b = false <-> ~P. -destruct b; simpl; intuition. -Qed. - Definition generic_eq {T:Type} (x y:T) `{Decidable (x = y)} := Decidable_witness. Definition generic_neq {T:Type} (x y:T) `{Decidable (x = y)} := negb Decidable_witness. @@ -1113,11 +1094,6 @@ Ltac extract_properties := let Hx := fresh "Hx" in destruct X as [x Hx] in *; change (projT1 (existT _ x Hx)) with x in * end. -(* We could also destruct any remaining Bools, if necessary. *) -Ltac extract_Bool_props := - repeat match goal with - | H:projBool _ = true |- _ => rewrite projBool_true in H - | H:projBool _ = false |- _ => rewrite projBool_false in H end. (* TODO: hyps, too? *) Ltac reduce_list_lengths := repeat match goal with |- context [length_list ?X] => @@ -1183,7 +1159,6 @@ Ltac prepare_for_solver := autounfold with sail in * |- *; (* You can add Hint Unfold ... : sail to let omega see through fns *) split_cases; extract_properties; - extract_Bool_props; repeat match goal with w:mword ?n |- _ => apply ArithFact_mword in w end; unwrap_ArithFacts; destruct_exists; @@ -1233,6 +1208,14 @@ prepare_for_solver; | constructor; eauto 3 with zarith sail (* The datatypes hints give us some list handling, esp In *) | constructor; drop_exists; eauto 3 with datatypes zarith sail + (* Booleans - and_boolMP *) + | match goal with |- ArithFact (forall l r:bool, _ -> _ -> exists _, _) => + constructor; intros l r H1 H2; + solve [exists l; destruct l; intuition | exists r; destruct l; intuition] + end + | match goal with |- context [@eq _ _ _] => + constructor; intuition + end | constructor; idtac "Unable to solve constraint"; dump_context; fail ]. (* Add an indirection so that you can redefine run_solver to fail to get diff --git a/src/ast_util.mli b/src/ast_util.mli index ae63aca7..bef4a238 100644 --- a/src/ast_util.mli +++ b/src/ast_util.mli @@ -403,6 +403,7 @@ val ids_of_def : 'a def -> IdSet.t val ids_of_defs : 'a defs -> IdSet.t val pat_ids : 'a pat -> IdSet.t + val subst : id -> 'a exp -> 'a exp -> 'a exp val hex_to_bin : string -> string diff --git a/src/c_backend.ml b/src/c_backend.ml index aff2d49e..ab388223 100644 --- a/src/c_backend.ml +++ b/src/c_backend.ml @@ -61,6 +61,7 @@ open Anf module Big_int = Nat_big_num let c_verbosity = ref 0 + let opt_debug_flow_graphs = ref false let opt_debug_function = ref "" let opt_trace = ref false @@ -68,6 +69,20 @@ let opt_smt_trace = ref false let opt_static = ref false let opt_no_main = ref false let opt_memo_cache = ref false +let opt_no_rts = ref false +let opt_prefix = ref "z" +let opt_extra_params = ref None +let opt_extra_arguments = ref None + +let extra_params () = + match !opt_extra_params with + | Some str -> str ^ ", " + | _ -> "" + +let extra_arguments is_extern = + match !opt_extra_arguments with + | Some str when not is_extern -> str ^ ", " + | _ -> "" (* Optimization flags *) let optimize_primops = ref false @@ -90,8 +105,8 @@ let zencode_id = function (* 2. Converting sail types to C types *) (**************************************************************************) -let max_int64 = Big_int.of_int64 Int64.max_int -let min_int64 = Big_int.of_int64 Int64.min_int +let max_int n = Big_int.pred (Big_int.pow_int_positive 2 (n - 1)) +let min_int n = Big_int.negate (Big_int.pow_int_positive 2 (n - 1)) (** The context type contains two type-checking environments. ctx.local_env contains the closest typechecking @@ -111,6 +126,7 @@ type ctx = recursive_functions : IdSet.t; no_raw : bool; optimize_smt : bool; + iterate_size : bool; } let initial_ctx env = @@ -124,8 +140,17 @@ let initial_ctx env = recursive_functions = IdSet.empty; no_raw = false; optimize_smt = true; + iterate_size = false; } +let rec iterate_size ctx size n m = + if size > 64 then + CT_lint + else if prove __POS__ ctx.local_env (nc_and (nc_lteq (nconstant (min_int size)) n) (nc_lteq m (nconstant (max_int size)))) then + CT_fint size + else + iterate_size ctx (size + 1) n m + (** Convert a sail type into a C-type. This function can be quite slow, because it uses ctx.local_env and SMT to analyse the Sail types and attempts to fit them into the smallest possible C @@ -151,10 +176,15 @@ let rec ctyp_of_typ ctx typ = | Some (kids, constr, n, m) -> match nexp_simp n, nexp_simp m with | Nexp_aux (Nexp_constant n, _), Nexp_aux (Nexp_constant m, _) - when Big_int.less_equal min_int64 n && Big_int.less_equal m max_int64 -> - CT_fint 64 + when Big_int.less_equal (min_int 64) n && Big_int.less_equal m (max_int 64) -> + if ctx.iterate_size then + iterate_size ctx 2 (nconstant n) (nconstant m) + else + CT_fint 64 | n, m when ctx.optimize_smt -> - if prove __POS__ ctx.local_env (nc_lteq (nconstant min_int64) n) && prove __POS__ ctx.local_env (nc_lteq m (nconstant max_int64)) then + if ctx.iterate_size then + iterate_size ctx 2 n m + else if prove __POS__ ctx.local_env (nc_lteq (nconstant (min_int 64)) n) && prove __POS__ ctx.local_env (nc_lteq m (nconstant (max_int 64))) then CT_fint 64 else CT_lint @@ -264,7 +294,7 @@ let hex_char = let literal_to_fragment (L_aux (l_aux, _) as lit) = match l_aux with - | L_num n when Big_int.less_equal min_int64 n && Big_int.less_equal n max_int64 -> + | L_num n when Big_int.less_equal (min_int 64) n && Big_int.less_equal n (max_int 64) -> Some (F_lit (V_int n), CT_fint 64) | L_hex str when String.length str <= 16 -> let padding = 16 - String.length str in @@ -544,9 +574,9 @@ let analyze_primop' ctx id args typ = | Some (kids, constr, n, m) -> match nexp_simp n, nexp_simp m with | Nexp_aux (Nexp_constant n, _), Nexp_aux (Nexp_constant m, _) - when Big_int.less_equal min_int64 n && Big_int.less_equal m max_int64 -> + when Big_int.less_equal (min_int 64) n && Big_int.less_equal m (max_int 64) -> AE_val (AV_C_fragment (F_op (op1, "+", op2), typ, CT_fint 64)) - | n, m when prove __POS__ ctx.local_env (nc_lteq (nconstant min_int64) n) && prove __POS__ ctx.local_env (nc_lteq m (nconstant max_int64)) -> + | n, m when prove __POS__ ctx.local_env (nc_lteq (nconstant (min_int 64)) n) && prove __POS__ ctx.local_env (nc_lteq m (nconstant (max_int 64))) -> AE_val (AV_C_fragment (F_op (op1, "+", op2), typ, CT_fint 64)) | _ -> no_change end @@ -717,7 +747,7 @@ let rec chunkify n xs = let rec compile_aval l ctx = function | AV_C_fragment (frag, typ, ctyp) -> let ctyp' = ctyp_of_typ ctx typ in - if not (ctyp_equal ctyp ctyp') then + if not (ctyp_equal ctyp ctyp' || ctx.iterate_size) then raise (Reporting.err_unreachable l __POS__ (string_of_ctyp ctyp ^ " != " ^ string_of_ctyp ctyp')); [], (frag, ctyp_of_typ ctx typ), [] @@ -737,7 +767,7 @@ let rec compile_aval l ctx = function | AV_lit (L_aux (L_string str, _), typ) -> [], (F_lit (V_string (String.escaped str)), ctyp_of_typ ctx typ), [] - | AV_lit (L_aux (L_num n, _), typ) when Big_int.less_equal min_int64 n && Big_int.less_equal n max_int64 -> + | AV_lit (L_aux (L_num n, _), typ) when Big_int.less_equal (min_int 64) n && Big_int.less_equal n (max_int 64) -> let gs = gensym () in [iinit CT_lint gs (F_lit (V_int n), CT_fint 64)], (F_id gs, CT_lint), @@ -941,8 +971,7 @@ let compile_funcall l ctx id args typ = ifuncall clexp id setup_args else let gs = gensym () in - iblock [icomment "copy call"; - idecl ret_ctyp gs; + iblock [idecl ret_ctyp gs; ifuncall (CL_id (gs, ret_ctyp)) id setup_args; icopy l clexp (F_id gs, ret_ctyp); iclear ret_ctyp gs] @@ -2405,7 +2434,8 @@ let optimize ctx cdefs = |> (if !optimize_alias then concatMap unique_names else nothing) |> (if !optimize_alias then concatMap (remove_alias ctx) else nothing) |> (if !optimize_alias then concatMap (combine_variables ctx) else nothing) - |> (if !optimize_hoist_allocations then concatMap (hoist_allocations ctx) else nothing) + (* We need the runtime to initialize hoisted allocations *) + |> (if !optimize_hoist_allocations && not !opt_no_rts then concatMap (hoist_allocations ctx) else nothing) |> (if !optimize_hoist_allocations && !optimize_experimental then concatMap (hoist_alias ctx) else nothing) (**************************************************************************) @@ -2415,6 +2445,12 @@ let optimize ctx cdefs = let sgen_id id = Util.zencode_string (string_of_id id) let codegen_id id = string (sgen_id id) +let sgen_function_id id = + let str = Util.zencode_string (string_of_id id) in + !opt_prefix ^ String.sub str 1 (String.length str - 1) + +let codegen_function_id id = string (sgen_function_id id) + let rec sgen_ctyp = function | CT_unit -> "unit" | CT_bit -> "fbits" @@ -2564,13 +2600,14 @@ let rec codegen_instr fid ctx (I_aux (instr, (_, l))) = | I_funcall (x, extern, f, args) -> let c_args = Util.string_of_list ", " sgen_cval args in let ctyp = clexp_ctyp x in + let is_extern = Env.is_extern f ctx.tc_env "c" || extern in let fname = if Env.is_extern f ctx.tc_env "c" then Env.get_extern f ctx.tc_env "c" else if extern then string_of_id f else - sgen_id f + sgen_function_id f in let fname = match fname, ctyp with @@ -2625,9 +2662,9 @@ let rec codegen_instr fid ctx (I_aux (instr, (_, l))) = string (Printf.sprintf " COPY(%s)(&%s, *(%s));" (sgen_ctyp_name ctyp) (sgen_clexp_pure x) c_args) else if is_stack_ctyp ctyp then - string (Printf.sprintf " %s = %s(%s);" (sgen_clexp_pure x) fname c_args) + string (Printf.sprintf " %s = %s(%s%s);" (sgen_clexp_pure x) fname (extra_arguments is_extern) c_args) else - string (Printf.sprintf " %s(%s, %s);" fname (sgen_clexp x) c_args) + string (Printf.sprintf " %s(%s%s, %s);" fname (extra_arguments is_extern) (sgen_clexp x) c_args) | I_clear (ctyp, id) when is_stack_ctyp ctyp -> empty @@ -2843,7 +2880,7 @@ let codegen_type_def ctx = function in Printf.sprintf "%s op" (sgen_ctyp ctyp), empty, empty in - string (Printf.sprintf "static void %s(struct %s *rop, %s)" (sgen_id ctor_id) (sgen_id id) ctor_args) ^^ hardline + string (Printf.sprintf "static void %s(%sstruct %s *rop, %s)" (sgen_function_id ctor_id) (extra_params ()) (sgen_id id) ctor_args) ^^ hardline ^^ surround 2 0 lbrace (tuple ^^ each_ctor "rop->" (clear_field "rop") tus ^^ hardline @@ -2994,7 +3031,7 @@ let codegen_list_set id ctyp = let codegen_cons id ctyp = let cons_id = mk_id ("cons#" ^ string_of_ctyp ctyp) in - string (Printf.sprintf "static void %s(%s *rop, const %s x, const %s xs) {\n" (sgen_id cons_id) (sgen_id id) (sgen_ctyp ctyp) (sgen_id id)) + string (Printf.sprintf "static void %s(%s *rop, const %s x, const %s xs) {\n" (sgen_function_id cons_id) (sgen_id id) (sgen_ctyp ctyp) (sgen_id id)) ^^ string (Printf.sprintf " *rop = malloc(sizeof(struct node_%s));\n" (sgen_id id)) ^^ (if is_stack_ctyp ctyp then string " (*rop)->hd = x;\n" @@ -3159,9 +3196,9 @@ let codegen_def' ctx = function if Env.is_extern id ctx.tc_env "c" then empty else if is_stack_ctyp ret_ctyp then - string (Printf.sprintf "%s%s %s(%s);" static (sgen_ctyp ret_ctyp) (sgen_id id) (Util.string_of_list ", " sgen_ctyp arg_ctyps)) + string (Printf.sprintf "%s%s %s(%s%s);" static (sgen_ctyp ret_ctyp) (sgen_function_id id) (extra_params ()) (Util.string_of_list ", " sgen_ctyp arg_ctyps)) else - string (Printf.sprintf "%svoid %s(%s *rop, %s);" static (sgen_id id) (sgen_ctyp ret_ctyp) (Util.string_of_list ", " sgen_ctyp arg_ctyps)) + string (Printf.sprintf "%svoid %s(%s%s *rop, %s);" static (sgen_function_id id) (extra_params ()) (sgen_ctyp ret_ctyp) (Util.string_of_list ", " sgen_ctyp arg_ctyps)) | CDEF_fundef (id, ret_arg, args, instrs) as def -> if !opt_debug_flow_graphs then make_dot id (instrs_graph instrs) else (); @@ -3202,12 +3239,12 @@ let codegen_def' ctx = function | None -> assert (is_stack_ctyp ret_ctyp); (if !opt_static then string "static " else empty) - ^^ string (sgen_ctyp ret_ctyp) ^^ space ^^ codegen_id id ^^ parens (string args) ^^ hardline + ^^ string (sgen_ctyp ret_ctyp) ^^ space ^^ codegen_function_id id ^^ parens (string (extra_params ()) ^^ string args) ^^ hardline | Some gs -> assert (not (is_stack_ctyp ret_ctyp)); (if !opt_static then string "static " else empty) - ^^ string "void" ^^ space ^^ codegen_id id - ^^ parens (string (sgen_ctyp ret_ctyp ^ " *" ^ sgen_id gs ^ ", ") ^^ string args) + ^^ string "void" ^^ space ^^ codegen_function_id id + ^^ parens (string (extra_params ()) ^^ string (sgen_ctyp ret_ctyp ^ " *" ^ sgen_id gs ^ ", ") ^^ string args) ^^ hardline in function_header @@ -3220,7 +3257,7 @@ let codegen_def' ctx = function | CDEF_startup (id, instrs) -> let static = if !opt_static then "static " else "" in - let startup_header = string (Printf.sprintf "%svoid startup_%s(void)" static (sgen_id id)) in + let startup_header = string (Printf.sprintf "%svoid startup_%s(void)" static (sgen_function_id id)) in separate_map hardline codegen_decl instrs ^^ twice hardline ^^ startup_header ^^ hardline @@ -3230,7 +3267,7 @@ let codegen_def' ctx = function | CDEF_finish (id, instrs) -> let static = if !opt_static then "static " else "" in - let finish_header = string (Printf.sprintf "%svoid finish_%s(void)" static (sgen_id id)) in + let finish_header = string (Printf.sprintf "%svoid finish_%s(void)" static (sgen_function_id id)) in separate_map hardline codegen_decl (List.filter is_decl instrs) ^^ twice hardline ^^ finish_header ^^ hardline @@ -3484,7 +3521,7 @@ let smt_trace ctx = | cdef -> cdef -let compile_ast ctx c_includes (Defs defs) = +let compile_ast ctx output_chan c_includes (Defs defs) = try c_debug (lazy (Util.log_line __MODULE__ __LINE__ "Identifying recursive functions")); let recursive_functions = Spec_analysis.top_sort_defs (Defs defs) |> get_recursive_functions in @@ -3521,9 +3558,10 @@ let compile_ast ctx c_includes (Defs defs) = let docs = List.map (codegen_def ctx) cdefs in let preamble = separate hardline - ([ string "#include \"sail.h\""; - string "#include \"rts.h\""; - string "#include \"elf.h\"" ] + ([ string "#include \"sail.h\"" ] + @ (if !opt_no_rts then [] else + [ string "#include \"rts.h\""; + string "#include \"elf.h\"" ]) @ (List.map (fun h -> string (Printf.sprintf "#include \"%s\"" h)) c_includes)) in @@ -3567,7 +3605,7 @@ let compile_ast ctx c_includes (Defs defs) = @ fst exn_boilerplate @ startup cdefs @ List.concat (List.map (fun r -> fst (register_init_clear r)) regs) - @ (if regs = [] then [] else [ " zinitializze_registers(UNIT);" ]) + @ (if regs = [] then [] else [ Printf.sprintf " %s(UNIT);" (sgen_function_id (mk_id "initialize_registers")) ]) @ letbind_initializers @ [ "}" ] )) in @@ -3588,7 +3626,7 @@ let compile_ast ctx c_includes (Defs defs) = "{"; " model_init();"; " if (process_arguments(argc, argv)) exit(EXIT_FAILURE);"; - " zmain(UNIT);"; + Printf.sprintf " %s(UNIT);" (sgen_function_id (mk_id "main")); " model_fini();"; " return EXIT_SUCCESS;"; "}" ] ) @@ -3604,10 +3642,13 @@ let compile_ast ctx c_includes (Defs defs) = let hlhl = hardline ^^ hardline in Pretty_print_sail.to_string (preamble ^^ hlhl ^^ separate hlhl docs ^^ hlhl - ^^ model_init ^^ hlhl - ^^ model_fini ^^ hlhl - ^^ model_default_main ^^ hlhl - ^^ model_main) - |> print_endline + ^^ (if not !opt_no_rts then + model_init ^^ hlhl + ^^ model_fini ^^ hlhl + ^^ model_default_main ^^ hlhl + else + empty) + ^^ model_main ^^ hardline) + |> output_string output_chan with Type_error (_, l, err) -> c_error ("Unexpected type error when compiling to C:\n" ^ Type_error.string_of_type_error err) diff --git a/src/c_backend.mli b/src/c_backend.mli index 10bf9f40..3b26acdf 100644 --- a/src/c_backend.mli +++ b/src/c_backend.mli @@ -53,16 +53,54 @@ open Type_check (** Global compilation options *) +(** Output a dataflow graph for each generated function in Graphviz + (dot) format. *) val opt_debug_flow_graphs : bool ref + +(** Print the ANF and IR representations of a specific function. *) val opt_debug_function : string ref + +(** Instrument generated code to output a trace. opt_smt_trace is WIP + but intended to enable generating traces suitable for concolic + execution with SMT. *) val opt_trace : bool ref val opt_smt_trace : bool ref + +(** Define generated functions as static *) val opt_static : bool ref + +(** Do not generate a main function *) val opt_no_main : bool ref -(** [opt_memo_cache] will store the compiled function definitions in - file _sbuild/ccacheDIGEST where DIGEST is the md5sum of the - original function to be compiled. Enabled using the -memo +(** (WIP) Do not include rts.h (the runtime), and do not generate code + that requires any setup or teardown routines to be run by a runtime + before executing any instruction semantics. *) +val opt_no_rts : bool ref + +(** Ordinarily we use plain z-encoding to name-mangle generated Sail + identifiers into a form suitable for C. If opt_prefix is set, then + the "z" which is added on the front of each generated C function + will be replaced by opt_prefix. E.g. opt_prefix := "sail_" would + give sail_my_function rather than zmy_function. *) +val opt_prefix : string ref + +(** opt_extra_params and opt_extra_arguments allow additional state to + be threaded through the generated C code by adding an additional + parameter to each function type, and then giving an extra argument + to each function call. For example we could have + + opt_extra_params := Some "CPUMIPSState *env" + opt_extra_arguments := Some "env" + + and every generated function will take a pointer to a QEMU MIPS + processor state, and each function will be passed the env argument + when it is called. *) +val opt_extra_params : string option ref +val opt_extra_arguments : string option ref + +(** (WIP) [opt_memo_cache] will store the compiled function + definitions in file _sbuild/ccacheDIGEST where DIGEST is the md5sum + of the original function to be compiled. Enabled using the -memo flag. Uses Marshal so it's quite picky about the exact version of the Sail version. This cache can obviously become stale if the C backend changes - it'll load an old version compiled without said @@ -80,16 +118,17 @@ val optimize_experimental : bool ref (** The compilation context. *) type ctx -(** Convert a typ to a IR ctyp *) -val ctyp_of_typ : ctx -> Ast.typ -> ctyp - (** Create a context from a typechecking environment. This environment should be the environment returned by typechecking the full AST. *) val initial_ctx : Env.t -> ctx +(** Convert a typ to a IR ctyp *) +val ctyp_of_typ : ctx -> Ast.typ -> ctyp + + val compile_aexp : ctx -> Ast.typ Anf.aexp -> instr list * (clexp -> instr) * instr list -val compile_ast : ctx -> string list -> tannot Ast.defs -> unit +val compile_ast : ctx -> out_channel -> string list -> tannot Ast.defs -> unit val bytecode_ast : ctx -> (cdef list -> cdef list) -> tannot Ast.defs -> cdef list diff --git a/src/elf_loader.ml b/src/elf_loader.ml index abe935b2..99407393 100644 --- a/src/elf_loader.ml +++ b/src/elf_loader.ml @@ -47,9 +47,10 @@ let opt_elf_threads = ref 1 let opt_elf_entry = ref Big_int.zero let opt_elf_tohost = ref Big_int.zero -(* the type of elf last loaded *) +(* the type of elf last loaded, and its symbol map *) type elf_class = ELF_Class_64 | ELF_Class_32 let opt_elf_class = ref ELF_Class_64 (* default *) +let opt_symbol_map = ref ([] : Elf_file.global_symbol_init_info) type word8 = int @@ -144,6 +145,7 @@ let load_segment ?writer:(writer=write_sail_lib) bs paddr base offset size memsz let load_elf ?writer:(writer=write_sail_lib) name = let segments, e_entry, symbol_map = read name in opt_elf_entry := e_entry; + opt_symbol_map := symbol_map; (if List.mem_assoc "tohost" symbol_map then let (_, _, tohost_addr, _, _) = List.assoc "tohost" symbol_map in opt_elf_tohost := tohost_addr); @@ -199,3 +201,12 @@ let elf_entry () = !opt_elf_entry let elf_tohost () = !opt_elf_tohost (* Used to check last loaded elf class. *) let elf_class () = !opt_elf_class +(* Lookup the address for a symbol *) +let elf_symbol symbol = + if List.mem_assoc symbol !opt_symbol_map then + let (_, _, addr, _, _) = List.assoc symbol !opt_symbol_map in + Some addr + else None +(* Get all symbols *) +let elf_symbols () = + !opt_symbol_map diff --git a/src/graph.ml b/src/graph.ml index 2fc09014..e3af0b97 100644 --- a/src/graph.ml +++ b/src/graph.ml @@ -88,6 +88,8 @@ module type S = (** Topologically sort a graph. Throws Not_a_DAG if the graph is not directed acyclic. *) val topsort : graph -> node list + + val make_dot : (node -> string) -> (node -> node -> string) -> (node -> string) -> out_channel -> graph -> unit end module Make(Ord: OrderedType) = struct @@ -152,7 +154,9 @@ module Make(Ord: OrderedType) = struct let prune roots cuts cg = let rs = reachable roots cuts cg in - fix_leaves (NM.filter (fun fn _ -> NS.mem fn rs) cg) + let cg = NM.filter (fun fn _ -> NS.mem fn rs) cg in + let cg = NM.mapi (fun fn children -> if NS.mem fn cuts then NS.empty else children) cg in + fix_leaves cg let remove_self_loops cg = NM.mapi (fun fn callees -> NS.remove fn callees) cg @@ -206,4 +210,19 @@ module Make(Ord: OrderedType) = struct in topsort' (); !list + let make_dot node_color edge_color string_of_node out_chan graph = + Util.opt_colors := false; + let to_string node = String.escaped (string_of_node node) in + output_string out_chan "digraph DEPS {\n"; + let make_node from_node = + output_string out_chan (Printf.sprintf " \"%s\" [fillcolor=%s;style=filled];\n" (to_string from_node) (node_color from_node)) + in + let make_line from_node to_node = + output_string out_chan (Printf.sprintf " \"%s\" -> \"%s\" [color=%s];\n" (to_string from_node) (to_string to_node) (edge_color from_node to_node)) + in + NM.bindings graph |> List.iter (fun (from_node, _) -> make_node from_node); + NM.bindings graph |> List.iter (fun (from_node, to_nodes) -> NS.iter (make_line from_node) to_nodes); + output_string out_chan "}\n"; + Util.opt_colors := true; + end diff --git a/src/graph.mli b/src/graph.mli index 11ea63dc..09b78304 100644 --- a/src/graph.mli +++ b/src/graph.mli @@ -90,9 +90,11 @@ module type S = (** Topologically sort a graph. Throws Not_a_DAG if the graph is not directed acyclic. *) val topsort : graph -> node list + + val make_dot : (node -> string) -> (node -> node -> string) -> (node -> string) -> out_channel -> graph -> unit end module Make(Ord: OrderedType) : S with type node = Ord.t and type node_set = Set.Make(Ord).t - and type graph = Set.Make(Ord).t Map.Make(Ord).t + and type graph = Set.Make(Ord).t Map.Make(Ord).t diff --git a/src/isail.ml b/src/isail.ml index 9a300673..30e02b36 100644 --- a/src/isail.ml +++ b/src/isail.ml @@ -374,15 +374,6 @@ let handle_input' input = ":(c)ommand can be called as either :c or :command." ] in List.iter print_endline commands - | ":poly" -> - let is_kopt = match arg with - | "Int" -> is_int_kopt - | "Type" -> is_typ_kopt - | "Order" -> is_order_kopt - | _ -> failwith "Invalid kind" - in - let ids = Specialize.polymorphic_functions is_kopt !Interactive.ast in - List.iter (fun id -> print_endline (string_of_id id)) (IdSet.elements ids) | ":option" -> begin try diff --git a/src/monomorphise.ml b/src/monomorphise.ml index c67b4fcb..9b954611 100644 --- a/src/monomorphise.ml +++ b/src/monomorphise.ml @@ -199,10 +199,9 @@ let rec is_value (E_aux (e,(l,annot))) = (* TODO: more? *) | _ -> false -let is_pure (Effect_opt_aux (e,_)) = +let is_pure e = match e with - | Effect_opt_none -> true - | Effect_opt_effect (Effect_aux (Effect_set [],_)) -> true + | Effect_aux (Effect_set [],_) -> true | _ -> false let rec list_extract f = function @@ -345,6 +344,7 @@ and inst_src_typ_arg insts (A_aux (ta,l) as tyarg) = match ta with | A_nexp _ | A_order _ + | A_bool _ -> insts, tyarg | A_typ typ -> let insts', typ' = inst_src_type insts typ in @@ -365,6 +365,7 @@ and contains_exist_arg (A_aux (arg,_)) = match arg with | A_nexp _ | A_order _ + | A_bool _ -> false | A_typ typ -> contains_exist typ @@ -1507,14 +1508,19 @@ let split_defs all_errors splits defs = if not (List.for_all is_value args) then None else + let (tq,typ) = Env.get_val_spec_orig id env in + let eff = match typ with + | Typ_aux (Typ_fn (_,_,eff),_) -> Some eff + | _ -> None + in let Defs ds = defs in - match list_extract (function + match eff, list_extract (function | (DEF_fundef (FD_aux (FD_function (_,_,eff,((FCL_aux (FCL_Funcl (id',_),_))::_ as fcls)),_))) - -> if Id.compare id id' = 0 then Some (eff,fcls) else None + -> if Id.compare id id' = 0 then Some fcls else None | _ -> None) ds with - | None -> None - | Some (eff,_) when not (is_pure eff) -> None - | Some (_,fcls) -> + | None,_ | _,None -> None + | Some eff,_ when not (is_pure eff) -> None + | Some _,Some fcls -> let arg = match args with | [] -> E_aux (E_lit (L_aux (L_unit,Generated l)),(Generated l,empty_tannot)) | [e] -> e @@ -2081,19 +2087,26 @@ let split_defs all_errors splits defs = | LEXP_vector_concat les -> re (LEXP_vector_concat (List.map map_lexp les)) | LEXP_field (le,id) -> re (LEXP_field (map_lexp le, id)) | LEXP_deref e -> re (LEXP_deref (map_exp e)) - in map_pexp, map_letbind - in + in map_exp, map_pexp, map_letbind + in + let map_exp r = let (f,_,_) = map_fns r in f in + let map_pexp r = let (_,f,_) = map_fns r in f in + let map_letbind r = let (_,_,f) = map_fns r in f in + let map_exp exp = + let ref_vars = referenced_vars exp in + map_exp ref_vars exp + in let map_pexp top_pexp = (* Construct the set of referenced variables so that we don't accidentally make false assumptions about them during constant propagation. Note that we assume there aren't any in the guard. *) let (_,_,body,_) = destruct_pexp top_pexp in let ref_vars = referenced_vars body in - fst (map_fns ref_vars) top_pexp + map_pexp ref_vars top_pexp in let map_letbind (LB_aux (LB_val (_,e),_) as lb) = let ref_vars = referenced_vars e in - snd (map_fns ref_vars) lb + map_letbind ref_vars lb in let map_funcl (FCL_aux (FCL_Funcl (id,pexp),annot)) = @@ -2124,6 +2137,7 @@ let split_defs all_errors splits defs = | DEF_mapdef (MD_aux (_, (l, _))) -> Reporting.unreachable l __POS__ "mappings should be gone by now" | DEF_val lb -> [DEF_val (map_letbind lb)] | DEF_scattered sd -> List.map (fun x -> DEF_scattered x) (map_scattered_def sd) + | DEF_measure (id,pat,exp) -> [DEF_measure (id,pat,map_exp exp)] in Defs (List.concat (List.map map_def defs)) in @@ -2206,6 +2220,7 @@ and sizes_of_typarg (A_aux (ta,_)) = match ta with A_nexp _ | A_order _ + | A_bool _ -> KidSet.empty | A_typ typ -> sizes_of_typ typ @@ -4375,7 +4390,9 @@ let replace_nexp_in_typ env typ orig new_nexp = | A_typ typ -> let f, typ = aux typ in f, A_aux (A_typ typ,l) - | A_order _ -> false, typ_arg + | A_order _ + | A_bool _ + -> false, typ_arg in aux typ let fresh_nexp_kid nexp = diff --git a/src/pattern_completeness.ml b/src/pattern_completeness.ml index 514eb5c0..79fc93ee 100644 --- a/src/pattern_completeness.ml +++ b/src/pattern_completeness.ml @@ -89,7 +89,7 @@ let is_wild = function | GP_wild -> true | _ -> false -let rec generalize ctx (P_aux (p_aux, _) as pat) = +let rec generalize ctx (P_aux (p_aux, (l, _)) as pat) = match p_aux with | P_lit (L_aux (L_unit, _)) -> (* Unit pattern always matches on unit, so generalize to wildcard *) @@ -105,7 +105,8 @@ let rec generalize ctx (P_aux (p_aux, _) as pat) = match ctx.lookup_id id with | Unbound -> GP_wild | Local (Immutable, _) -> GP_wild - | Register _ | Local (Mutable, _) -> Util.warn "Matching on register or mutable variable"; GP_wild + | Register _ | Local (Mutable, _) -> + Util.warn ("Matching on register or mutable variable at " ^ Reporting.loc_to_string l); GP_wild | Enum _ -> GP_app (Bindings.singleton id GP_wild) end | P_var (pat, _) -> generalize ctx pat diff --git a/src/pretty_print_coq.ml b/src/pretty_print_coq.ml index adb00a77..4553de56 100644 --- a/src/pretty_print_coq.ml +++ b/src/pretty_print_coq.ml @@ -356,7 +356,8 @@ match nc1, nc2 with | _, NC_aux (NC_true,_) -> nc1 | NC_aux (NC_false,_), _ -> nc_not nc2 | _, NC_aux (NC_false,_) -> nc_not nc1 -| _,_ -> nc_or (nc_and nc1 nc2) (nc_and (nc_not nc1) (nc_not nc2)) + (* TODO: replace this hacky iff with a proper NC_ constructor *) +| _,_ -> mk_nc (NC_app (mk_id "iff",[arg_bool nc1; arg_bool nc2])) (* n_constraint functions are currently just Z3 functions *) let doc_nc_fn_prop id = @@ -370,33 +371,123 @@ let doc_nc_fn id = | "not" -> string "negb" | s -> string s -type ex_atom_bool = ExBool_simple | ExBool_val of bool | ExBool_complex +let merge_bool_count = KBindings.union (fun _ m n -> Some (m+n)) -let non_trivial_ex_atom_bool l kopts nc atom_nc = - let vars = KOptSet.union (kopts_of_constraint nc) (kopts_of_constraint atom_nc) in - let exists = KOptSet.of_list kopts in - if KOptSet.subset vars exists then - let kenv = List.fold_left (fun kenv kopt -> KBindings.add (kopt_kid kopt) (unaux_kind (kopt_kind kopt)) kenv) KBindings.empty kopts in - match Constraint.call_smt l kenv (nc_and nc atom_nc), - Constraint.call_smt l kenv (nc_and nc (nc_not atom_nc)) with - | Sat, Sat -> ExBool_simple - | Sat, Unsat -> ExBool_val true - | Unsat, Sat -> ExBool_val false - | _ -> ExBool_complex - else ExBool_complex - -type ex_kind = ExNone | ExBool | ExGeneral - -let classify_ex_type (Typ_aux (t,l) as t0) = +let rec count_bool_vars (NC_aux (nc,_)) = + let count_arg (A_aux (arg,_)) = + match arg with + | A_bool nc -> count_bool_vars nc + | A_nexp _ | A_typ _ | A_order _ -> KBindings.empty + in + match nc with + | NC_or (nc1,nc2) + | NC_and (nc1,nc2) + -> merge_bool_count (count_bool_vars nc1) (count_bool_vars nc2) + | NC_var kid -> KBindings.singleton kid 1 + | NC_equal _ | NC_bounded_ge _ | NC_bounded_le _ | NC_not_equal _ + | NC_set _ | NC_true | NC_false + -> KBindings.empty + | NC_app (_,args) -> + List.fold_left merge_bool_count KBindings.empty (List.map count_arg args) + +type atom_bool_prop = + Bool_boring +| Bool_complex of kinded_id list * n_constraint * n_constraint + +let simplify_atom_bool l kopts nc atom_nc = +(*prerr_endline ("simplify " ^ string_of_n_constraint nc ^ " for bool " ^ string_of_n_constraint atom_nc);*) + let counter = ref 0 in + let is_bound kid = List.exists (fun kopt -> Kid.compare kid (kopt_kid kopt) == 0) kopts in + let bool_vars = merge_bool_count (count_bool_vars nc) (count_bool_vars atom_nc) in + let lin_bool_vars = KBindings.filter (fun kid n -> is_bound kid && n = 1) bool_vars in + let rec simplify (NC_aux (nc,l) as nc_full) = + let is_ex_var news (NC_aux (nc,_)) = + match nc with + | NC_var kid when KBindings.mem kid lin_bool_vars -> Some kid + | NC_var kid when KidSet.mem kid news -> Some kid + | _ -> None + in + let replace kills vars = + let v = mk_kid ("simp#" ^ string_of_int !counter) in + let kills = KidSet.union kills (KidSet.of_list vars) in + counter := !counter + 1; + KidSet.singleton v, kills, NC_aux (NC_var v,l) + in + match nc with + | NC_or (nc1,nc2) -> begin + let new1, kill1, nc1 = simplify nc1 in + let new2, kill2, nc2 = simplify nc2 in + let news, kills = KidSet.union new1 new2, KidSet.union kill1 kill2 in + match is_ex_var news nc1, is_ex_var news nc2 with + | Some kid1, Some kid2 -> replace kills [kid1;kid2] + | _ -> news, kills, NC_aux (NC_or (nc1,nc2),l) + end + | NC_and (nc1,nc2) -> begin + let new1, kill1, nc1 = simplify nc1 in + let new2, kill2, nc2 = simplify nc2 in + let news, kills = KidSet.union new1 new2, KidSet.union kill1 kill2 in + match is_ex_var news nc1, is_ex_var news nc2 with + | Some kid1, Some kid2 -> replace kills [kid1;kid2] + | _ -> news, kills, NC_aux (NC_and (nc1,nc2),l) + end + | NC_app (Id_aux (Id "not",_) as id,[A_aux (A_bool nc1,al)]) -> begin + let new1, kill1, nc1 = simplify nc1 in + match is_ex_var new1 nc1 with + | Some kid -> replace kill1 [kid] + | None -> new1, kill1, NC_aux (NC_app (id,[A_aux (A_bool nc1,al)]),l) + end + (* We don't currently recurse into general uses of NC_app, but the + "boring" cases we really want to get rid of won't contain + those. *) + | _ -> KidSet.empty, KidSet.empty, nc_full + in + let new_nc, kill_nc, nc = simplify nc in + let new_atom, kill_atom, atom_nc = simplify atom_nc in + let new_kids = KidSet.union new_nc new_atom in + let kill_kids = KidSet.union kill_nc kill_atom in + let kopts = + List.map (fun kid -> mk_kopt K_bool kid) (KidSet.elements new_kids) @ + List.filter (fun kopt -> not (KidSet.mem (kopt_kid kopt) kill_kids)) kopts + in +(*prerr_endline ("now have " ^ string_of_n_constraint nc ^ " for bool " ^ string_of_n_constraint atom_nc);*) + match atom_nc with + | NC_aux (NC_var kid,_) when KBindings.mem kid lin_bool_vars -> Bool_boring + | NC_aux (NC_var kid,_) when KidSet.mem kid new_kids -> Bool_boring + | _ -> Bool_complex (kopts, nc, atom_nc) + + +type ex_kind = ExNone | ExGeneral + +(* Should a Sail type be turned into a dependent pair in Coq? + Optionally takes a variable that we're binding (to avoid trivial cases where + the type is exactly the boolean we're binding), and whether to turn bools + with interesting type-expressions into dependent pairs. *) +let classify_ex_type ctxt env ?binding ?(rawbools=false) (Typ_aux (t,l) as t0) = + let is_binding kid = + match binding, KBindings.find_opt kid ctxt.kid_id_renames with + | Some id, Some id' when Id.compare id id' == 0 -> true + | _ -> false + in + let simplify_atom_bool l kopts nc atom_nc = + match simplify_atom_bool l kopts nc atom_nc with + | Bool_boring -> Bool_boring + | Bool_complex (_,_,NC_aux (NC_var kid,_)) when is_binding kid -> Bool_boring + | Bool_complex (x,y,z) -> Bool_complex (x,y,z) + in match t with - | Typ_exist (kopts,nc,(Typ_aux (Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]),_) as t1)) -> begin - match non_trivial_ex_atom_bool l kopts nc atom_nc with - | ExBool_simple -> ExNone, t1 - | ExBool_val _ -> ExBool, t1 - | ExBool_complex -> ExGeneral, t1 + | Typ_exist (kopts,nc,Typ_aux (Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]),_)) -> begin + match simplify_atom_bool l kopts nc atom_nc with + | Bool_boring -> ExNone, [], bool_typ + | Bool_complex _ -> ExGeneral, [], bool_typ end - | Typ_exist (_,_,t1) -> ExGeneral,t1 - | _ -> ExNone,t0 + | Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]) -> begin + match rawbools, simplify_atom_bool l [] nc_true atom_nc with + | false, _ -> ExNone, [], bool_typ + | _,Bool_boring -> ExNone, [], bool_typ + | _,Bool_complex _ -> ExGeneral, [], bool_typ + end + | Typ_exist (kopts,_,t1) -> ExGeneral,kopts,t1 + | _ -> ExNone,[],t0 (* When making changes here, check whether they affect coq_nvars_of_typ *) let rec doc_typ_fns ctx = @@ -441,10 +532,17 @@ let rec doc_typ_fns ctx = (string "Z") | Typ_app(Id_aux (Id "atom", _), [A_aux(A_nexp n,_)]) -> (string "Z") - | Typ_app(Id_aux (Id "atom_bool", _), [_]) -> string "bool" - | Typ_app (Id_aux (Id "atom#bool",_), [A_aux (A_bool nc,_)]) -> - let tpp = string "Bool" ^^ space ^^ doc_nc_prop ~top:false ctx nc in - if atyp_needed then parens tpp else tpp + | Typ_app(Id_aux (Id "atom_bool", _), [A_aux (A_bool atom_nc,_)]) -> + begin match simplify_atom_bool l [] nc_true atom_nc with + | Bool_boring -> string "bool" + | Bool_complex (_,_,atom_nc) -> (* simplify won't introduce new kopts *) + let var = mk_kid "_bool" in (* TODO collision avoid *) + let nc = nice_iff (nc_var var) atom_nc in + braces (separate space + [doc_var ctx var; colon; string "bool"; + ampersand; + doc_arithfact ctx nc]) + end | Typ_app(id,args) -> let tpp = (doc_id_type id) ^^ space ^^ (separate_map space doc_typ_arg args) in if atyp_needed then parens tpp else tpp @@ -505,10 +603,9 @@ let rec doc_typ_fns ctx = ampersand; doc_arithfact ctx ~exists:(List.map kopt_kid kopts) ?extra:length_constraint_pp nc]) | Typ_aux (Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]),_) -> begin - match non_trivial_ex_atom_bool l kopts nc atom_nc with - | ExBool_simple -> string "bool" - | ExBool_val t -> string "Bool(" ^^ if t then string "True)" else string "False)" - | ExBool_complex -> + match simplify_atom_bool l kopts nc atom_nc with + | Bool_boring -> string "bool" + | Bool_complex (kopts,nc,atom_nc) -> let var = mk_kid "_bool" in (* TODO collision avoid *) let nc = nice_and (nice_iff (nc_var var) atom_nc) nc in braces (separate space @@ -814,11 +911,11 @@ let is_ctor env id = match Env.lookup_id id env with | Enum _ -> true | _ -> false -let is_auto_decomposed_exist env typ = +let is_auto_decomposed_exist ctxt env ?(rawbools=false) typ = let typ = expand_range_type typ in - match destruct_exist_plain (Env.expand_synonyms env typ) with - | Some (_, _, typ') -> Some typ' - | _ -> None + match classify_ex_type ctxt env ~rawbools (Env.expand_synonyms env typ) with + | ExGeneral, kopts, typ' -> Some (kopts, typ') + | ExNone, _, _ -> None (*Note: vector concatenation, literal vectors, indexed vectors, and record should be removed prior to pp. The latter two have never yet been seen @@ -826,9 +923,11 @@ let is_auto_decomposed_exist env typ = let rec doc_pat ctxt apat_needed exists_as_pairs (P_aux (p,(l,annot)) as pat, typ) = let env = env_of_annot (l,annot) in let typ = Env.expand_synonyms env typ in - match exists_as_pairs, is_auto_decomposed_exist env typ with - | true, Some typ' -> - let pat_pp = doc_pat ctxt true true (pat, typ') in + match exists_as_pairs, is_auto_decomposed_exist ctxt env typ with + | true, Some (kopts,typ') -> + debug ctxt (lazy ("decomposing for pattern " ^ string_of_pat pat ^ " at type " ^ string_of_typ typ ^ " with internal type " ^ string_of_typ typ')); + let ctxt' = { ctxt with bound_nvars = List.fold_left (fun s kopt -> KidSet.add (kopt_kid kopt) s) ctxt.bound_nvars kopts } in + let pat_pp = doc_pat ctxt' true true (pat, typ') in let pat_pp = separate space [string "existT"; underscore; pat_pp; underscore] in if apat_needed then parens pat_pp else pat_pp | _ -> @@ -997,7 +1096,7 @@ let condition_produces_constraint exp = dependent pair with a proof that the result is the expected integer. This is redundant for basic arithmetic functions and functions which we unfold in the constraint solver. *) -let no_proof_fns = ["Z.add"; "Z.sub"; "Z.opp"; "Z.mul"; "length_mword"; "length"; +let no_proof_fns = ["Z.add"; "Z.sub"; "Z.opp"; "Z.mul"; "Z.rem"; "length_mword"; "length"; "negb"; "andb"; "orb"; "Z.leb"; "Z.geb"; "Z.ltb"; "Z.gtb"; "Z.eqb"] @@ -1014,10 +1113,8 @@ let replace_atom_return_type ret_typ = | Typ_aux (Typ_app (Id_aux (Id "atom",_), [A_aux (A_nexp nexp,_)]),l) -> let kid = mk_kid "_retval" in (* TODO: collision avoidance *) Some "build_ex", Typ_aux (Typ_exist ([mk_kopt K_int kid], nc_eq (nvar kid) nexp, atom_typ (nvar kid)),Parse_ast.Generated l) - (* For informative booleans tweak the type name so that doc_typ knows that the - constraint should be output. *) | Typ_aux (Typ_app (Id_aux (Id "atom_bool",il), ([A_aux (A_bool _,_)] as args)),l) -> - Some "build_Bool", Typ_aux (Typ_app (Id_aux (Id "atom#bool",il), args),l) + Some "build_ex", ret_typ | _ -> None, ret_typ let is_range_from_atom env (Typ_aux (argty,_)) (Typ_aux (fnty,_)) = @@ -1042,6 +1139,33 @@ let is_prefix s s' = String.length s' >= l && String.sub s' 0 l = s +let merge_new_tyvars ctxt old_env pat new_env = + let is_new_binding id = + match Env.lookup_id ~raw:true id old_env with + | Unbound -> true + | _ -> false + in + let new_ids = IdSet.filter is_new_binding (pat_ids pat) in + let merge_new_kids id m = + let typ = lvar_typ (Env.lookup_id ~raw:true id new_env) in + debug ctxt (lazy (" considering tyvar mapping for " ^ string_of_id id ^ " at type " ^ string_of_typ typ )); + match destruct_numeric typ, destruct_atom_bool new_env typ with + | Some ([],_,Nexp_aux (Nexp_var kid,_)), _ + | _, Some (NC_aux (NC_var kid,_)) -> + begin try + let _ = Env.get_typ_var kid old_env in + debug ctxt (lazy (" tyvar " ^ string_of_kid kid ^ " already in env")); + m + with _ -> + debug ctxt (lazy (" adding tyvar mapping " ^ string_of_kid kid ^ " to " ^ string_of_id id)); + KBindings.add kid id m + end + | _ -> + debug ctxt (lazy (" not suitable type")); + m + in + { ctxt with kid_id_renames = IdSet.fold merge_new_kids new_ids ctxt.kid_id_renames } + let prefix_recordtype = true let report = Reporting.err_unreachable let doc_exp, doc_let = @@ -1068,15 +1192,14 @@ let doc_exp, doc_let = match destruct_exist_plain typ with | None -> epp | Some (kopts,nc,Typ_aux (Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]),l)) -> begin - match non_trivial_ex_atom_bool l kopts nc atom_nc with - | ExBool_simple -> epp - | ExBool_val t -> wrap_parens (string "build_Bool" ^/^ epp) - | ExBool_complex -> wrap_parens (string "build_ex" ^/^ epp) + match simplify_atom_bool l kopts nc atom_nc with + | Bool_boring -> epp + | Bool_complex _ -> wrap_parens (string "build_ex" ^/^ epp) end | Some _ -> wrap_parens (string "build_ex" ^/^ epp) in - let rec construct_dep_pairs env = + let construct_dep_pairs ?(rawbools=false) env = let rec aux want_parens (E_aux (e,_) as exp) (Typ_aux (t,_) as typ) = match e,t with | E_tuple exps, Typ_tup typs @@ -1085,16 +1208,11 @@ let doc_exp, doc_let = parens (separate (string ", ") (List.map2 (aux false) exps typs)) | _ -> let typ' = expand_range_type (Env.expand_synonyms (env_of exp) typ) in + debug ctxt (lazy ("Constructing " ^ string_of_exp exp ^ " at type " ^ string_of_typ typ)); let build_ex, out_typ = - match destruct_exist_plain typ' with - | Some (kopts,nc,(Typ_aux (Typ_app (Id_aux (Id "atom_bool",_), [A_aux (A_bool atom_nc,_)]),l) as t)) -> begin - match non_trivial_ex_atom_bool l kopts nc atom_nc with - | ExBool_simple -> None, t - | ExBool_val _ -> Some "build_Bool", t - | ExBool_complex -> Some "build_ex", t - end - | Some (_,_,t) -> Some "build_ex", t - | None -> None, typ' + match classify_ex_type ctxt (env_of exp) ~rawbools typ' with + | ExNone, _, _ -> None, typ' + | ExGeneral, _, typ' -> Some "build_ex", typ' in let in_typ = expand_range_type (Env.expand_synonyms (env_of exp) (typ_of exp)) in let in_typ = match destruct_exist_plain in_typ with Some (_,_,t) -> t | None -> in_typ in @@ -1115,7 +1233,7 @@ let doc_exp, doc_let = else exp_pp in match build_ex with | Some s -> - let exp_pp = string s ^^ space ^^ exp_pp in + let exp_pp = string s ^/^ exp_pp in if want_parens then parens exp_pp else exp_pp | None -> exp_pp in aux @@ -1197,14 +1315,31 @@ let doc_exp, doc_let = | E_loop _ -> raise (report l __POS__ "E_loop should have been rewritten before pretty-printing") | E_let(leb,e) -> - let epp = let_exp ctxt leb ^^ space ^^ string "in" ^^ hardline ^^ expN e in + let pat = match leb with LB_aux (LB_val (p,_),_) -> p in + let new_ctxt = merge_new_tyvars ctxt (env_of_annot (l,annot)) pat (env_of e) in + let epp = let_exp ctxt leb ^^ space ^^ string "in" ^^ hardline ^^ top_exp new_ctxt false e in if aexp_needed then parens epp else epp | E_app(f,args) -> begin match f with | Id_aux (Id "and_bool", _) | Id_aux (Id "or_bool", _) when effectful (effect_of full_exp) -> - let call = doc_id (append_id f "M") in - wrap_parens (hang 2 (flow (break 1) (call :: List.map expY args))) + let informative = Util.is_some (is_auto_decomposed_exist ctxt (env_of full_exp) (general_typ_of full_exp)) in + let suffix = if informative then "MP" else "M" in + let call = doc_id (append_id f suffix) in + let doc_arg exp = + let epp = expY exp in + match is_auto_decomposed_exist ctxt (env_of exp) ~rawbools:true (general_typ_of exp) with + | Some _ -> + if informative then parens (epp ^^ doc_tannot ctxt (env_of exp) true (general_typ_of exp)) else + let proj = if effectful (effect_of exp) then "projT1_m" else "projT1" in + parens (string proj ^/^ epp) + | None -> + if informative then parens (string "build_trivial_ex" ^/^ epp) + else epp + in + let epp = hang 2 (flow (break 1) (call :: List.map doc_arg args)) in + let epp = if informative then epp ^^ doc_tannot ctxt (env_of full_exp) true (general_typ_of full_exp) else epp in + wrap_parens epp (* temporary hack to make the loop body a function of the temporary variables *) | Id_aux (Id "None", _) as none -> doc_id_ctor none | Id_aux (Id "foreach#", _) -> @@ -1435,21 +1570,22 @@ let doc_exp, doc_let = let ret_typ_inst = subst_unifiers inst ret_typ in - let packeff,unpack,autocast,projbool = + let packeff,unpack,autocast = let ann_typ = Env.expand_synonyms env (general_typ_of_annot (l,annot)) in let ann_typ = expand_range_type ann_typ in let ret_typ_inst = expand_range_type (Env.expand_synonyms env ret_typ_inst) in let ret_typ_inst = if is_no_proof_fn env f then ret_typ_inst else snd (replace_atom_return_type ret_typ_inst) in - let () = + let () = debug ctxt (lazy (" type returned " ^ string_of_typ ret_typ_inst)); debug ctxt (lazy (" type expected " ^ string_of_typ ann_typ)) in let unpack, in_typ = - match ret_typ_inst with - | Typ_aux (Typ_exist (_,_,t1),_) -> true,t1 - | t1 -> false,t1 + if is_no_proof_fn env f then false, ret_typ_inst else + match classify_ex_type ctxt env ~rawbools:true ret_typ_inst with + | ExGeneral, _, t1 -> true,t1 + | ExNone, _, t1 -> false,t1 in let pack,out_typ = match ann_typ with @@ -1464,23 +1600,17 @@ let doc_exp, doc_let = Typ_aux (Typ_app (_,[A_aux (A_nexp n2,_);_;_]),_) -> not (similar_nexps ctxt env n1 n2) | _ -> false - in - let projbool = - match in_typ with - | Typ_aux (Typ_app (Id_aux (Id "atom#bool",_),_),_) -> true - | _ -> false - in pack,unpack,autocast,projbool + in pack,unpack,autocast in let autocast_id, proj_id = if effectful eff then "autocast_m", "projT1_m" else "autocast", "projT1" in - let epp = if unpack && not (effectful eff) then string proj_id ^^ space ^^ parens epp else epp in - let epp = if projbool && not (effectful eff) then string "projBool" ^^ space ^^ parens epp else epp in + let epp = if unpack && not (effectful eff) then string proj_id ^/^ parens epp else epp in let epp = if autocast then string autocast_id ^^ space ^^ parens epp else epp in let epp = if effectful eff && packeff && not unpack - then string "build_ex_m" ^^ space ^^ parens epp + then string "build_ex_m" ^^ break 1 ^^ parens epp else epp in liftR (if aexp_needed then parens (align epp) else epp) @@ -1545,9 +1675,9 @@ let doc_exp, doc_let = debug ctxt (lazy (" on expr of type " ^ string_of_typ inner_typ)); debug ctxt (lazy (" where type expected is " ^ string_of_typ outer_typ)) in - let outer_ex,outer_typ' = classify_ex_type outer_typ in - let cast_ex,cast_typ' = classify_ex_type cast_typ in - let inner_ex,inner_typ' = classify_ex_type inner_typ in + let outer_ex,_,outer_typ' = classify_ex_type ctxt env outer_typ in + let cast_ex,_,cast_typ' = classify_ex_type ctxt env ~rawbools:true cast_typ in + let inner_ex,_,inner_typ' = classify_ex_type ctxt env inner_typ in let autocast = (* Avoid using helper functions which simplify the nexps *) is_bitvector_typ outer_typ' && is_bitvector_typ cast_typ' && @@ -1566,27 +1696,24 @@ let doc_exp, doc_let = otherwise derive the new type from the old one. *) if alpha_equivalent env inner_typ cast_typ then epp - else string "derive_m" ^^ space ^^ epp + else string "derive_m" ^/^ epp | ExGeneral, ExNone -> - string "projT1_m" ^^ space ^^ epp + string "projT1_m" ^/^ epp | ExNone, ExGeneral -> - string "build_ex_m" ^^ space ^^ epp + string "build_ex_m" ^/^ epp | ExNone, ExNone -> epp else match cast_ex with - | ExGeneral -> string "build_ex" ^^ space ^^ epp - | ExBool -> string "build_Bool" ^^ space ^^ epp + | ExGeneral -> string "build_ex" ^/^ epp | ExNone -> epp in let epp = epp ^/^ doc_tannot ctxt (env_of e) effects typ in let epp = if effects then match cast_ex, outer_ex with - | ExGeneral, ExNone -> string "projT1_m" ^^ space ^^ parens epp - | ExBool, ExNone -> string "projBool_m" ^^ space ^^ parens epp + | ExGeneral, ExNone -> string "projT1_m" ^/^ parens epp | _ -> epp else match cast_ex with - | ExGeneral -> string "projT1" ^^ space ^^ parens epp - | ExBool -> string "projBool" ^^ space ^^ parens epp + | ExGeneral -> string "projT1" ^/^ parens epp | ExNone -> epp in let epp = @@ -1676,7 +1803,7 @@ let doc_exp, doc_let = let only_integers e = expY e in let epp = group ((separate space [string "match"; only_integers e; string "with"]) ^/^ - (separate_map (break 1) (doc_case ctxt (typ_of e)) pexps) ^/^ + (separate_map (break 1) (doc_case ctxt (env_of_annot (l,annot)) (typ_of e)) pexps) ^/^ (string "end")) in if aexp_needed then parens (align epp) else align epp | E_try (e, pexps) -> @@ -1685,7 +1812,7 @@ let doc_exp, doc_let = let epp = (* TODO capture avoidance for __catch_val *) group ((separate space [string try_catch; expY e; string "(fun __catch_val => match __catch_val with "]) ^/^ - (separate_map (break 1) (doc_case ctxt exc_typ) pexps) ^/^ + (separate_map (break 1) (doc_case ctxt (env_of_annot (l,annot)) exc_typ) pexps) ^/^ (string "end)")) in if aexp_needed then parens (align epp) else align epp else @@ -1708,11 +1835,12 @@ let doc_exp, doc_let = debug ctxt (lazy ("Internal plet, pattern " ^ string_of_pat pat)); debug ctxt (lazy (" type of e1 " ^ string_of_typ (typ_of e1))) in + let new_ctxt = merge_new_tyvars ctxt (env_of_annot (l,annot)) pat (env_of e2) in match pat, e1, e2 with | (P_aux (P_wild,_) | P_aux (P_typ (_, P_aux (P_wild, _)), _)), (E_aux (E_assert (assert_e1,assert_e2),_)), _ -> let epp = liftR (separate space [string "assert_exp'"; expY assert_e1; expY assert_e2]) in - let epp = infix 0 1 (string ">>= fun _ =>") epp (expN e2) in + let epp = infix 0 1 (string ">>= fun _ =>") epp (top_exp new_ctxt false e2) in if aexp_needed then parens (align epp) else align epp (* Special case because we don't handle variables with nested existentials well yet. TODO: check that id1 is not used in e2' *) @@ -1727,45 +1855,60 @@ let doc_exp, doc_let = let middle = match pat' with | P_aux (P_id id,_) - when Util.is_none (is_auto_decomposed_exist (env_of e1) (typ_of e1)) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e1) (typ_of e1)) && not (is_enum (env_of e1) id) -> separate space [string ">>= fun"; doc_id id; bigarrow] | P_aux (P_typ (typ, P_aux (P_id id,_)),_) - when Util.is_none (is_auto_decomposed_exist (env_of e1) typ) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e1) typ) && not (is_enum (env_of e1) id) -> separate space [string ">>= fun"; doc_id id; colon; doc_typ ctxt typ; bigarrow] | _ -> separate space [string ">>= fun"; squote ^^ doc_pat ctxt true true (pat', typ'); bigarrow] in - infix 0 1 middle e1_pp (expN e2') + infix 0 1 middle e1_pp (top_exp new_ctxt false e2') | _ -> let epp = let middle = + let env1 = env_of e1 in match pat with | P_aux (P_wild,_) | P_aux (P_typ (_, P_aux (P_wild, _)), _) -> string ">>" | P_aux (P_id id,_) - when Util.is_none (is_auto_decomposed_exist (env_of e1) (typ_of e1)) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e1) (typ_of e1)) && not (is_enum (env_of e1) id) -> separate space [string ">>= fun"; doc_id id; bigarrow] | P_aux (P_typ (typ, P_aux (P_id id,_)),_) - when Util.is_none (is_auto_decomposed_exist (env_of e1) typ) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e1) typ) && not (is_enum (env_of e1) id) -> separate space [string ">>= fun"; doc_id id; colon; doc_typ ctxt typ; bigarrow] | P_aux (P_typ (typ, P_aux (P_id id,_)),_) | P_aux (P_typ (typ, P_aux (P_var (P_aux (P_id id,_),_),_)),_) | P_aux (P_var (P_aux (P_typ (typ, P_aux (P_id id,_)),_),_),_) - when not (is_enum (env_of e1) id) -> + when not (is_enum env1 id) -> let full_typ = (expand_range_type typ) in - let binder = match classify_ex_type (Env.expand_synonyms (env_of e1) full_typ) with - | ExGeneral, _ -> + let binder = match classify_ex_type ctxt env1 (Env.expand_synonyms env1 full_typ) with + | ExGeneral, _, _ -> squote ^^ parens (separate space [string "existT"; underscore; doc_id id; underscore; colon; doc_typ ctxt typ]) - | (ExBool | ExNone), _ -> + | ExNone, _, _ -> parens (separate space [doc_id id; colon; doc_typ ctxt typ]) in separate space [string ">>= fun"; binder; bigarrow] + | P_aux (P_id id,_) -> + let typ = typ_of e1 in + let plain_binder = squote ^^ doc_pat ctxt true true (pat, typ_of e1) in + let binder = match classify_ex_type ctxt env1 ~binding:id (Env.expand_synonyms env1 typ) with + | ExGeneral, _, (Typ_aux (Typ_app (Id_aux (Id "atom_bool",_),_),_) as typ') -> + squote ^^ parens (separate space [string "existT"; underscore; doc_id id; underscore; colon; doc_typ ctxt typ]) + | ExNone, _, typ' -> begin + match typ' with + | Typ_aux (Typ_app (Id_aux (Id "atom_bool",_),_),_) -> + squote ^^ parens (separate space [string "existT"; underscore; doc_id id; underscore; colon; doc_typ ctxt typ]) + | _ -> plain_binder + end + | _ -> plain_binder + in separate space [string ">>= fun"; binder; bigarrow] | _ -> separate space [string ">>= fun"; squote ^^ doc_pat ctxt true true (pat, typ_of e1); bigarrow] in - infix 0 1 middle (expY e1) (expN e2) + infix 0 1 middle (expY e1) (top_exp new_ctxt false e2) in if aexp_needed then parens (align epp) else epp end @@ -1779,7 +1922,7 @@ let doc_exp, doc_let = in let valpp = let env = env_of e1 in - construct_dep_pairs env true e1 ret_typ + construct_dep_pairs env true e1 ret_typ ~rawbools:true in wrap_parens (align (separate space [string "returnm"; valpp])) | E_sizeof nexp -> @@ -1830,13 +1973,13 @@ let doc_exp, doc_let = (* Prefer simple lets over patterns, because I've found Coq can struggle to work out return types otherwise *) | LB_val(P_aux (P_id id,_),e) - when Util.is_none (is_auto_decomposed_exist (env_of e) (typ_of e)) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e) (typ_of e)) && not (is_enum (env_of e) id) -> prefix 2 1 (separate space [string "let"; doc_id id; coloneq]) (top_exp ctxt false e) | LB_val(P_aux (P_typ (typ,P_aux (P_id id,_)),_),e) - when Util.is_none (is_auto_decomposed_exist (env_of e) typ) && + when Util.is_none (is_auto_decomposed_exist ctxt (env_of e) typ) && not (is_enum (env_of e) id) -> prefix 2 1 (separate space [string "let"; doc_id id; colon; doc_typ ctxt typ; coloneq]) @@ -1857,10 +2000,11 @@ let doc_exp, doc_let = else doc_id id in group (doc_op coloneq fname (top_exp ctxt true e)) - and doc_case ctxt typ = function + and doc_case ctxt old_env typ = function | Pat_aux(Pat_exp(pat,e),_) -> - group (prefix 3 1 (separate space [pipe; doc_pat ctxt false false (pat,typ);bigarrow]) - (group (top_exp ctxt false e))) + let new_ctxt = merge_new_tyvars ctxt old_env pat (env_of e) in + group (prefix 3 1 (separate space [pipe; doc_pat ctxt false false (pat,typ);bigarrow]) + (group (top_exp new_ctxt false e))) | Pat_aux(Pat_when(_,_,_),(l,_)) -> raise (Reporting.err_unreachable l __POS__ "guarded pattern expression should have been rewritten before pretty-printing") @@ -2118,7 +2262,7 @@ let pat_is_plain_binder env (P_aux (p,_)) = let demote_all_patterns env i (P_aux (p,p_annot) as pat,typ) = match pat_is_plain_binder env pat with | Some id -> - if Util.is_none (is_auto_decomposed_exist env typ) + if Util.is_none (is_auto_decomposed_exist empty_ctxt env typ) then (pat,typ), fun e -> e else (P_aux (P_id id, p_annot),typ), @@ -2241,12 +2385,6 @@ let doc_funcl mutrec rec_opt (FCL_aux(FCL_Funcl(id, pexp), annot)) = | Typ_aux (Typ_fn (arg_typs, ret_typ, eff),_) -> arg_typs, ret_typ, eff | _ -> failwith ("Function " ^ string_of_id id ^ " does not have function type") in - let build_ex, ret_typ = replace_atom_return_type ret_typ in - let build_ex = match classify_ex_type (Env.expand_synonyms env (expand_range_type ret_typ)) with - | ExGeneral, _ -> Some "build_ex" - | ExBool, _ -> Some "build_Bool" - | ExNone, _ -> build_ex - in let ids_to_avoid = all_ids pexp in let bound_kids = tyvars_of_typquant tq in let pat,guard,exp,(l,_) = destruct_pexp pexp in @@ -2268,15 +2406,23 @@ let doc_funcl mutrec rec_opt (FCL_aux(FCL_Funcl(id, pexp), annot)) = | Rec_aux (Rec_measure _,_) -> true, IdSet.singleton id | _ -> false, IdSet.empty in - let ctxt = + let ctxt0 = { early_ret = contains_early_return exp; kid_renames = mk_kid_renames ids_to_avoid kids_used; kid_id_renames = kid_to_arg_rename; bound_nvars = bound_kids; - build_at_return = if effectful eff then build_ex else None; + build_at_return = None; (* filled in below *) recursive_ids = recursive_ids; debug = List.mem (string_of_id id) (!opt_debug_on) } in + let build_ex, ret_typ = replace_atom_return_type ret_typ in + let build_ex = match classify_ex_type ctxt0 env (Env.expand_synonyms env (expand_range_type ret_typ)) with + | ExGeneral, _, _ -> Some "build_ex" + | ExNone, _, _ -> build_ex + in + let ctxt = { ctxt0 with + build_at_return = if effectful eff then build_ex else None; + } in let () = debug ctxt (lazy ("Function " ^ string_of_id id)); debug ctxt (lazy (" return type " ^ string_of_typ ret_typ)); @@ -2299,19 +2445,21 @@ let doc_funcl mutrec rec_opt (FCL_aux(FCL_Funcl(id, pexp), annot)) = debug ctxt (lazy (" with expanded type " ^ string_of_typ exp_typ)) in match pat_is_plain_binder env pat with - | Some id -> - if Util.is_none (is_auto_decomposed_exist env exp_typ) then - parens (separate space [doc_id id; colon; doc_typ ctxt typ]) - else begin + | Some id -> begin + match classify_ex_type ctxt env ~binding:id exp_typ with + | ExNone, _, typ' -> + parens (separate space [doc_id id; colon; doc_typ ctxt typ']) + | ExGeneral, _, _ -> let full_typ = (expand_range_type exp_typ) in match destruct_exist_plain (Env.expand_synonyms env full_typ) with | Some ([kopt], NC_aux (NC_true,_), - Typ_aux (Typ_app (Id_aux (Id "atom",_), + Typ_aux (Typ_app (Id_aux (Id ("atom" | "atom_bool" as tyname),_), [A_aux (A_nexp (Nexp_aux (Nexp_var kid,_)),_)]),_)) when Kid.compare (kopt_kid kopt) kid == 0 -> - parens (separate space [doc_id id; colon; string "Z"]) + let coqty = if tyname = "atom" then "Z" else "bool" in + parens (separate space [doc_id id; colon; string coqty]) | Some ([kopt], nc, - Typ_aux (Typ_app (Id_aux (Id "atom",_), + Typ_aux (Typ_app (Id_aux (Id ("atom" | "atom_bool"),_), [A_aux (A_nexp (Nexp_aux (Nexp_var kid,_)),_)]),_)) when Kid.compare (kopt_kid kopt) kid == 0 && not is_measured -> (used_a_pattern := true; @@ -2596,6 +2744,9 @@ let rec doc_def unimplemented generic_eq_types def = | DEF_scattered sdef -> failwith "doc_def: shoulnd't have DEF_scattered at this point" | DEF_mapdef (MD_aux (_, (l,_))) -> unreachable l __POS__ "Coq doesn't support mappings" | DEF_pragma _ -> empty + | DEF_measure (id,_,_) -> unreachable (id_loc id) __POS__ + ("Termination measure for " ^ string_of_id id ^ + " should have been rewritten before backend") let find_exc_typ defs = let is_exc_typ_def = function diff --git a/src/rewrites.ml b/src/rewrites.ml index d4601fa6..0be6825a 100644 --- a/src/rewrites.ml +++ b/src/rewrites.ml @@ -5170,6 +5170,11 @@ let rewrite_defs_ocaml = [ (* ("separate_numbs", rewrite_defs_separate_numbs) *) ] +let opt_separate_execute = ref false + +let if_separate f env defs = + if !opt_separate_execute then f env defs else defs + let rewrite_defs_c = [ ("no_effect_check", (fun _ defs -> opt_no_effects := true; defs)); @@ -5196,6 +5201,7 @@ let rewrite_defs_c = [ ("simple_assignments", rewrite_simple_assignments); ("remove_vector_concat", rewrite_defs_remove_vector_concat); ("remove_bitvector_pats", rewrite_defs_remove_bitvector_pats); + ("split_execute", if_separate (rewrite_split_fun_constr_pats "execute")); ("exp_lift_assign", rewrite_defs_exp_lift_assign); ("merge_function_clauses", merge_funcls); ("recheck_defs", fun _ -> Optimize.recheck) diff --git a/src/rewrites.mli b/src/rewrites.mli index cea227a5..811d52e8 100644 --- a/src/rewrites.mli +++ b/src/rewrites.mli @@ -59,6 +59,7 @@ val opt_dmono_analysis : int ref val opt_auto_mono : bool ref val opt_dall_split_errors : bool ref val opt_dmono_continue : bool ref +val opt_separate_execute : bool ref (* Generate a fresh id with the given prefix *) val fresh_id : string -> l -> id diff --git a/src/sail.ml b/src/sail.ml index a801ad81..eb25f56d 100644 --- a/src/sail.ml +++ b/src/sail.ml @@ -135,7 +135,7 @@ let options = Arg.align ([ " pretty print the input to LaTeX"); ( "-latex_prefix", Arg.String (fun prefix -> Latex.opt_prefix := prefix), - " set a custom prefix for generated LaTeX macro command (default sail)"); + "<prefix> set a custom prefix for generated LaTeX macro command (default sail)"); ( "-latex_full_valspecs", Arg.Clear Latex.opt_simple_val, " print full valspecs in LaTeX output"); @@ -151,6 +151,21 @@ let options = Arg.align ([ ( "-c_no_main", Arg.Set C_backend.opt_no_main, " do not generate the main() function" ); + ( "-c_no_rts", + Arg.Set C_backend.opt_no_rts, + " do not include the Sail runtime" ); + ( "-c_separate_execute", + Arg.Set Rewrites.opt_separate_execute, + " separate execute scattered function into multiple functions"); + ( "-c_prefix", + Arg.String (fun prefix -> C_backend.opt_prefix := prefix), + "<prefix> prefix generated C functions" ); + ( "-c_extra_params", + Arg.String (fun params -> C_backend.opt_extra_params := Some params), + "<parameters> generate C functions with additional parameters" ); + ( "-c_extra_args", + Arg.String (fun args -> C_backend.opt_extra_arguments := Some args), + "<arguments> supply extra argument to every generated C function call" ); ( "-elf", Arg.String (fun elf -> opt_process_elf := Some elf), " process an ELF file so that it can be executed by compiled C code"); @@ -428,10 +443,11 @@ let main() = then let ast_c = rewrite_ast_c type_envs ast in let ast_c, type_envs = Specialize.(specialize typ_ord_specialization ast_c type_envs) in - (* let ast_c, type_envs = Specialize.(specialize' 2 int_specialization ast_c type_envs) in *) - (* let ast_c = Spec_analysis.top_sort_defs ast_c in *) + (* let ast_c, type_envs = Specialize.(specialize' 2 int_specialization_with_externs ast_c type_envs) in *) + let output_chan = match !opt_file_out with Some f -> open_out (f ^ ".c") | None -> stdout in Util.opt_warnings := true; - C_backend.compile_ast (C_backend.initial_ctx type_envs) (!opt_includes_c) ast_c + C_backend.compile_ast (C_backend.initial_ctx type_envs) output_chan (!opt_includes_c) ast_c; + close_out output_chan else ()); (if !(opt_print_cgen) then Cgen_backend.output type_envs ast @@ -457,7 +473,7 @@ let main() = begin try if not (Sys.is_directory latex_dir) then begin - prerr_endline ("Failure: latex output directory exists but is not a directory: " ^ latex_dir); + prerr_endline ("Failure: latex output location exists and is not a directory: " ^ latex_dir); exit 1 end with Sys_error(_) -> Unix.mkdir latex_dir 0o755 diff --git a/src/slice.ml b/src/slice.ml new file mode 100644 index 00000000..cbf8ee5d --- /dev/null +++ b/src/slice.ml @@ -0,0 +1,194 @@ +(**************************************************************************) +(* Sail *) +(* *) +(* Copyright (c) 2013-2017 *) +(* Kathyrn Gray *) +(* Shaked Flur *) +(* Stephen Kell *) +(* Gabriel Kerneis *) +(* Robert Norton-Wright *) +(* Christopher Pulte *) +(* Peter Sewell *) +(* Alasdair Armstrong *) +(* Brian Campbell *) +(* Thomas Bauereiss *) +(* Anthony Fox *) +(* Jon French *) +(* Dominic Mulligan *) +(* Stephen Kell *) +(* Mark Wassell *) +(* *) +(* 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. *) +(**************************************************************************) + +open Ast +open Ast_util +open Rewriter + +type node = + (* In the graph we have a node Register that represents the actual + register, but functions get only get transitive dependencies on + that through Register_read, Register_write, and Register_ref + nodes. *) + | Register of id + | Function of id + | Letbind of id + | Type of id + | Overload of id + +let node_id = function + | Register id -> id + | Function id -> id + | Letbind id -> id + | Type id -> id + | Overload id -> id + +let node_kind = function + | Register _ -> 0 + | Function _ -> 1 + | Letbind _ -> 3 + | Type _ -> 4 + | Overload _ -> 5 + +module Node = struct + type t = node + let compare n1 n2 = + let lex_ord c1 c2 = if c1 = 0 then c2 else c1 in + lex_ord (compare (node_kind n1) (node_kind n2)) (Id.compare (node_id n1) (node_id n2)) +end + +let node_color cuts = + let module NodeSet = Set.Make(Node) in + function + | node when NodeSet.mem node cuts -> "red" + | Register _ -> "lightpink" + | Function _ -> "white" + | Letbind _ -> "yellow" + | Type _ -> "springgreen" + | Overload _ -> "peachpuff" + +let node_string n = node_id n |> string_of_id |> String.escaped + +let edge_color from_node to_node = "black" + +let builtins = + let open Type_check in + IdSet.of_list (List.map fst (Bindings.bindings Env.builtin_typs)) + +let typ_ids typ = + let rec typ_ids (Typ_aux (aux, _)) = + match aux with + | Typ_var _ | Typ_internal_unknown -> IdSet.empty + | Typ_id id -> IdSet.singleton id + | Typ_app (id, typs) -> + IdSet.add id (List.fold_left IdSet.union IdSet.empty (List.map typ_arg_ids typs)) + | Typ_fn (typs, typ, _) -> + IdSet.union (typ_ids typ) (List.fold_left IdSet.union IdSet.empty (List.map typ_ids typs)) + | Typ_bidir (typ1, typ2) -> + IdSet.union (typ_ids typ1) (typ_ids typ2) + | Typ_tup typs -> + List.fold_left IdSet.union IdSet.empty (List.map typ_ids typs) + | Typ_exist (_, _, typ) -> typ_ids typ + and typ_arg_ids (A_aux (aux, _)) = + match aux with + | A_typ typ -> typ_ids typ + | _ -> IdSet.empty + in + IdSet.diff (typ_ids typ) builtins + +let add_def_to_graph graph def = + let open Type_check in + let module G = Graph.Make(Node) in + let graph = ref graph in + + let scan_exp self e_aux annot = + let env = env_of_annot annot in + begin match e_aux with + | E_id id -> + begin match Env.lookup_id id env with + | Register _ -> graph := G.add_edge self (Register id) !graph + | _ -> + if IdSet.mem id (Env.get_toplevel_lets env) then + graph := G.add_edge self (Letbind id) !graph + else () + end + | E_app (id, _) -> + graph := G.add_edge self (Function id) !graph + | E_ref id -> + graph := G.add_edge self (Register id) !graph + | E_cast (typ, _) -> + IdSet.iter (fun id -> graph := G.add_edge self (Type id) !graph) (typ_ids typ) + | _ -> () + end; + E_aux (e_aux, annot) + in + let rw_exp self = { id_exp_alg with e_aux = (fun (e_aux, annot) -> scan_exp self e_aux annot) } in + + let rewriters self = + { rewriters_base with + rewrite_exp = (fun _ -> fold_exp (rw_exp self)); + rewrite_let = (fun _ -> fold_letbind (rw_exp self)); + } + in + + begin match def with + | DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (typq, typ), _), id, _, _), _)) -> + graph := G.add_edges (Function id) [] !graph; + IdSet.iter (fun typ_id -> graph := G.add_edge (Function id) (Type typ_id) !graph) (typ_ids typ) + | DEF_fundef fdef -> + let id = id_of_fundef fdef in + graph := G.add_edges (Function id) [] !graph; + ignore (rewrite_fun (rewriters (Function id)) fdef) + | DEF_val (LB_aux (LB_val (pat, exp), _) as lb) -> + let ids = pat_ids pat in + IdSet.iter (fun id -> graph := G.add_edges (Letbind id) [] !graph) ids; + IdSet.iter (fun id -> ignore (rewrite_let (rewriters (Letbind id)) lb)) ids + | _ -> () + end; + !graph + +let rec graph_of_ast (Defs defs) = + let module G = Graph.Make(Node) in + + match defs with + | def :: defs -> + let g = graph_of_ast (Defs defs) in + add_def_to_graph g def + + | [] -> G.empty + +let dot_of_ast ast = + let module G = Graph.Make(Node) in + let module NodeSet = Set.Make(Node) in + let g = graph_of_ast ast in + let roots = NodeSet.of_list (List.map (fun str -> Function (mk_id str)) ["execute_CGetPerm"; "execute_CSeal"]) in + let cuts = NodeSet.of_list (List.map (fun str -> Function (mk_id str)) ["readCapReg"; "writeCapReg"; "rGPR"; "wGPR"; "SignalException"]) in + let g = G.prune roots cuts g in + G.make_dot (node_color cuts) edge_color node_string stdout g diff --git a/src/specialize.ml b/src/specialize.ml index 591a415a..19c5df7a 100644 --- a/src/specialize.ml +++ b/src/specialize.ml @@ -59,17 +59,26 @@ let is_typ_ord_arg = function type specialization = { is_polymorphic : kinded_id -> bool; - instantiation_filter : kid -> typ_arg -> bool + instantiation_filter : kid -> typ_arg -> bool; + extern_filter : (string -> string option) -> bool } let typ_ord_specialization = { is_polymorphic = (fun kopt -> is_typ_kopt kopt || is_order_kopt kopt); - instantiation_filter = (fun _ -> is_typ_ord_arg) + instantiation_filter = (fun _ -> is_typ_ord_arg); + extern_filter = (fun _ -> false) } let int_specialization = { is_polymorphic = is_int_kopt; - instantiation_filter = (fun _ arg -> match arg with A_aux (A_nexp _, _) -> true | _ -> false) + instantiation_filter = (fun _ arg -> match arg with A_aux (A_nexp _, _) -> true | _ -> false); + extern_filter = (fun externs -> match externs "c" with Some _ -> true | None -> false) + } + +let int_specialization_with_externs = { + is_polymorphic = is_int_kopt; + instantiation_filter = (fun _ arg -> match arg with A_aux (A_nexp _, _) -> true | _ -> false); + extern_filter = (fun _ -> false) } let rec nexp_simp_typ (Typ_aux (typ_aux, l)) = @@ -105,15 +114,15 @@ let fix_instantiation spec instantiation = for some set of kinded-identifiers, specified by the is_kopt predicate. For example, polymorphic_functions is_int_kopt will return all Int-polymorphic functions. *) -let rec polymorphic_functions is_kopt (Defs defs) = +let rec polymorphic_functions ctx (Defs defs) = match defs with - | DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (typq, typ) , _), id, _, externs), _)) :: defs -> - let is_polymorphic = List.exists is_kopt (quant_kopts typq) in - if is_polymorphic then - IdSet.add id (polymorphic_functions is_kopt (Defs defs)) + | DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (typq, typ) , _), id, externs, _), _)) :: defs -> + let is_polymorphic = List.exists ctx.is_polymorphic (quant_kopts typq) in + if is_polymorphic && not (ctx.extern_filter externs) then + IdSet.add id (polymorphic_functions ctx (Defs defs)) else - polymorphic_functions is_kopt (Defs defs) - | _ :: defs -> polymorphic_functions is_kopt (Defs defs) + polymorphic_functions ctx (Defs defs) + | _ :: defs -> polymorphic_functions ctx (Defs defs) | [] -> IdSet.empty (* When we specialize a function, we need to generate new name. To do @@ -548,7 +557,13 @@ let reorder_typedefs (Defs defs) = Defs (List.rev !tdefs @ others) let specialize_ids spec ids ast = - let ast = List.fold_left (fun ast id -> specialize_id spec id ast) ast (IdSet.elements ids) in + let total = IdSet.cardinal ids in + let _, ast = + List.fold_left + (fun (n, ast) id -> + Util.progress "Specializing " (string_of_id id) n total; (n + 1, specialize_id spec id ast)) + (1, ast) (IdSet.elements ids) + in let ast = reorder_typedefs ast in let ast, _ = Type_error.check Type_check.initial_env ast in let ast = @@ -562,7 +577,7 @@ let rec specialize' n spec ast env = if n = 0 then ast, env else - let ids = polymorphic_functions spec.is_polymorphic ast in + let ids = polymorphic_functions spec ast in if IdSet.is_empty ids then ast, env else diff --git a/src/specialize.mli b/src/specialize.mli index 93dec239..6ec8c2aa 100644 --- a/src/specialize.mli +++ b/src/specialize.mli @@ -62,12 +62,15 @@ val typ_ord_specialization : specialization (** (experimental) specialise Int-kinded definitions *) val int_specialization : specialization +(** (experimental) specialise Int-kinded definitions, including externs *) +val int_specialization_with_externs : specialization + (** Returns an IdSet with the function ids that have X-kinded parameters, e.g. val f : forall ('a : X). 'a -> 'a. The first argument specifies what X should be - it should be one of: [is_int_kopt], [is_order_kopt], or [is_typ_kopt] from [Ast_util], or some combination of those. *) -val polymorphic_functions : (kinded_id -> bool) -> 'a defs -> IdSet.t +val polymorphic_functions : specialization -> 'a defs -> IdSet.t (** specialize returns an AST with all the Order and Type polymorphism removed, as well as the environment produced by type checking that @@ -76,6 +79,8 @@ val polymorphic_functions : (kinded_id -> bool) -> 'a defs -> IdSet.t which case specialize returns the AST unmodified. *) val specialize : specialization -> tannot defs -> Env.t -> tannot defs * Env.t +(** specialize' n performs at most n specialization passes. Useful for + int_specialization which is not guaranteed to terminate. *) val specialize' : int -> specialization -> tannot defs -> Env.t -> tannot defs * Env.t (** return all instantiations of a function id, with the diff --git a/src/type_check.ml b/src/type_check.ml index 1923a885..a69d24cf 100644 --- a/src/type_check.ml +++ b/src/type_check.ml @@ -105,6 +105,7 @@ type env = { top_val_specs : (typquant * typ) Bindings.t; defined_val_specs : IdSet.t; locals : (mut * typ) Bindings.t; + top_letbinds : IdSet.t; union_ids : (typquant * typ) Bindings.t; registers : (effect * effect * typ) Bindings.t; variants : (typquant * type_union list) Bindings.t; @@ -250,6 +251,25 @@ and strip_kinded_id_aux = function and strip_kind = function | K_aux (k_aux, _) -> K_aux (k_aux, Parse_ast.Unknown) +let rec typ_constraints (Typ_aux (typ_aux, l)) = + match typ_aux with + | Typ_internal_unknown -> [] + | Typ_id v -> [] + | Typ_var kid -> [] + | Typ_tup typs -> List.concat (List.map typ_constraints typs) + | Typ_app (f, args) -> List.concat (List.map typ_arg_nexps args) + | Typ_exist (kids, nc, typ) -> typ_constraints typ + | Typ_fn (arg_typs, ret_typ, _) -> + List.concat (List.map typ_constraints arg_typs) @ typ_constraints ret_typ + | Typ_bidir (typ1, typ2) -> + typ_constraints typ1 @ typ_constraints typ2 +and typ_arg_nexps (A_aux (typ_arg_aux, l)) = + match typ_arg_aux with + | A_nexp n -> [] + | A_typ typ -> typ_constraints typ + | A_bool nc -> [nc] + | A_order ord -> [] + let rec typ_nexps (Typ_aux (typ_aux, l)) = match typ_aux with | Typ_internal_unknown -> [] @@ -389,6 +409,8 @@ module Env : sig val get_accessor : id -> id -> t -> typquant * typ * typ * effect val add_local : id -> mut * typ -> t -> t val get_locals : t -> (mut * typ) Bindings.t + val add_toplevel_lets : IdSet.t -> t -> t + val get_toplevel_lets : t -> IdSet.t val add_variant : id -> typquant * type_union list -> t -> t val add_scattered_variant : id -> typquant -> t -> t val add_variant_clause : id -> type_union -> t -> t @@ -465,6 +487,7 @@ end = struct { top_val_specs = Bindings.empty; defined_val_specs = IdSet.empty; locals = Bindings.empty; + top_letbinds = IdSet.empty; union_ids = Bindings.empty; registers = Bindings.empty; variants = Bindings.empty; @@ -1035,15 +1058,19 @@ end = struct | Mutable -> "ref<" ^ string_of_typ typ ^ ">" let add_local id mtyp env = - begin - if not env.allow_bindings then typ_error env (id_loc id) "Bindings are not allowed in this context" else (); - wf_typ env (snd mtyp); - if Bindings.mem id env.top_val_specs then - typ_error env (id_loc id) ("Local variable " ^ string_of_id id ^ " is already bound as a function name") - else (); - typ_print (lazy (adding ^ "local binding " ^ string_of_id id ^ " : " ^ string_of_mtyp mtyp)); - { env with locals = Bindings.add id mtyp env.locals } - end + if not env.allow_bindings then typ_error env (id_loc id) "Bindings are not allowed in this context" else (); + wf_typ env (snd mtyp); + if Bindings.mem id env.top_val_specs then + typ_error env (id_loc id) ("Local variable " ^ string_of_id id ^ " is already bound as a function name") + else (); + typ_print (lazy (adding ^ "local binding " ^ string_of_id id ^ " : " ^ string_of_mtyp mtyp)); + { env with locals = Bindings.add id mtyp env.locals; + top_letbinds = IdSet.remove id env.top_letbinds } + + let add_toplevel_lets ids env = + { env with top_letbinds = IdSet.union ids env.top_letbinds } + + let get_toplevel_lets env = env.top_letbinds let add_variant id variant env = typ_print (lazy (adding ^ "variant " ^ string_of_id id)); @@ -1287,6 +1314,15 @@ let bind_existential l name typ env = | Some (kids, nc, typ) -> typ, add_existential l kids nc env | None -> typ, env +let bind_tuple_existentials l name (Typ_aux (aux, annot) as typ) env = + match aux with + | Typ_tup typs -> + let typs, env = + List.fold_right (fun typ (typs, env) -> let typ, env = bind_existential l name typ env in typ :: typs, env) typs ([], env) + in + Typ_aux (Typ_tup typs, annot), env + | _ -> typ, env + let destruct_range env typ = let kopts, constr, (Typ_aux (typ_aux, _)) = Util.option_default ([], nc_true, typ) (destruct_exist (Env.expand_synonyms env typ)) @@ -1550,6 +1586,8 @@ let merge_uvars l unifiers1 unifiers2 = KBindings.merge (merge_unifiers l) unifiers1 unifiers2 let rec unify_typ l env goals (Typ_aux (aux1, _) as typ1) (Typ_aux (aux2, _) as typ2) = + typ_debug (lazy (Util.("Unify type " |> magenta |> clear) ^ string_of_typ typ1 ^ " and " ^ string_of_typ typ2 + ^ " goals " ^ string_of_list ", " string_of_kid (KidSet.elements goals))); match aux1, aux2 with | Typ_internal_unknown, _ | _, Typ_internal_unknown when Env.allow_unknowns env -> @@ -1557,10 +1595,24 @@ let rec unify_typ l env goals (Typ_aux (aux1, _) as typ1) (Typ_aux (aux2, _) as | Typ_var v, _ when KidSet.mem v goals -> KBindings.singleton v (arg_typ typ2) + (* We need special cases for unifying range(n, m), nat, and int vs atom('n) *) + | Typ_id int, Typ_app (atom, [A_aux (A_nexp n, _)]) when string_of_id int = "int" -> KBindings.empty + + | Typ_id nat, Typ_app (atom, [A_aux (A_nexp n, _)]) when string_of_id nat = "nat" -> + if prove __POS__ env (nc_gteq n (nint 0)) then KBindings.empty + else unify_error l (string_of_typ typ2 ^ " must be a natural number") + | Typ_app (range, [A_aux (A_nexp n1, _); A_aux (A_nexp n2, _)]), Typ_app (atom, [A_aux (A_nexp m, _)]) when string_of_id range = "range" && string_of_id atom = "atom" -> - merge_uvars l (unify_nexp l env goals n1 m) (unify_nexp l env goals n2 m) + let n1, n2 = nexp_simp n1, nexp_simp n2 in + begin match n1, n2 with + | Nexp_aux (Nexp_constant c1, _), Nexp_aux (Nexp_constant c2, _) -> + if prove __POS__ env (nc_and (nc_lteq n1 m) (nc_lteq m n2)) then KBindings.empty + else unify_error l (string_of_typ typ1 ^ " is not contained within " ^ string_of_typ typ1) + | _, _ -> + merge_uvars l (unify_nexp l env goals n1 m) (unify_nexp l env goals n2 m) + end | Typ_app (id1, args1), Typ_app (id2, args2) when List.length args1 = List.length args2 && Id.compare id1 id2 = 0 -> List.fold_left (merge_uvars l) KBindings.empty (List.map2 (unify_typ_arg l env goals) args1 args2) @@ -1776,7 +1828,7 @@ and ambiguous_nexp_vars (Nexp_aux (aux, _)) = let destruct_atom_nexp env typ = match Env.expand_synonyms env typ with | Typ_aux (Typ_app (f, [A_aux (A_nexp n, _)]), _) - when string_of_id f = "atom" -> Some n + when string_of_id f = "atom" || string_of_id f = "implicit" -> Some n | Typ_aux (Typ_app (f, [A_aux (A_nexp n, _); A_aux (A_nexp m, _)]), _) when string_of_id f = "range" && nexp_identical n m -> Some n | _ -> None @@ -1994,7 +2046,7 @@ let rec subtyp l env typ1 typ2 = let env = add_existential l kopts nc env in subtyp l env typ1 typ2 | None, Some (kopts, nc, typ2) -> typ_debug (lazy "Subtype check with unification"); - let typ1 = canonicalize env typ1 in + let typ1, env = bind_existential l None (canonicalize env typ1) env in let env = add_typ_vars l kopts env in let kids' = KidSet.elements (KidSet.diff (KidSet.of_list (List.map kopt_kid kopts)) (tyvars_of_typ typ2)) in if not (kids' = []) then typ_error env l "Universally quantified constraint generated" else (); @@ -2915,6 +2967,7 @@ and type_coercion_unify env goals (E_aux (_, (l, _)) as annotated_exp) typ = try typ_debug (lazy ("Coercing unification: from " ^ string_of_typ (typ_of annotated_exp) ^ " to " ^ string_of_typ typ)); let atyp, env = bind_existential l None (typ_of annotated_exp) env in + let atyp, env = bind_tuple_existentials l None atyp env in annotated_exp, unify l env (KidSet.diff goals (ambiguous_vars typ)) typ atyp, env with | Unification_error (_, m) when Env.allow_casts env -> @@ -3223,13 +3276,15 @@ and bind_typ_pat env (TP_aux (typ_pat_aux, l) as typ_pat) (Typ_aux (typ_aux, _) | TP_wild, _ -> env | TP_var kid, _ -> begin - match typ_nexps typ with - | [nexp] -> + match typ_nexps typ, typ_constraints typ with + | [nexp], [] -> Env.add_constraint (nc_eq (nvar kid) nexp) (Env.add_typ_var l (mk_kopt K_int kid) env) - | [] -> + | [], [nc] -> + Env.add_constraint (nc_and (nc_or (nc_not nc) (nc_var kid)) (nc_or nc (nc_not (nc_var kid)))) (Env.add_typ_var l (mk_kopt K_bool kid) env) + | [], [] -> typ_error env l ("No numeric expressions in " ^ string_of_typ typ ^ " to bind " ^ string_of_kid kid ^ " to") - | nexps -> - typ_error env l ("Type " ^ string_of_typ typ ^ " has multiple numeric expressions. Cannot bind " ^ string_of_kid kid) + | _, _ -> + typ_error env l ("Type " ^ string_of_typ typ ^ " has multiple numeric or boolean expressions. Cannot bind " ^ string_of_kid kid) end | TP_app (f1, tpats), Typ_app (f2, typs) when Id.compare f1 f2 = 0 -> List.fold_left2 bind_typ_pat_arg env tpats typs @@ -4496,14 +4551,14 @@ let check_letdef orig_env (LB_aux (letbind, (l, _))) = let tpat, env = bind_pat_no_guard orig_env (strip_pat pat) typ_annot in if (BESet.is_empty (effect_set (effect_of checked_bind)) || !opt_no_effects) then - [DEF_val (LB_aux (LB_val (tpat, checked_bind), (l, None)))], env + [DEF_val (LB_aux (LB_val (tpat, checked_bind), (l, None)))], Env.add_toplevel_lets (pat_ids tpat) env else typ_error env l ("Top-level definition with effects " ^ string_of_effect (effect_of checked_bind)) | LB_val (pat, bind) -> let inferred_bind = propagate_exp_effect (irule infer_exp orig_env (strip_exp bind)) in let tpat, env = bind_pat_no_guard orig_env (strip_pat pat) (typ_of inferred_bind) in if (BESet.is_empty (effect_set (effect_of inferred_bind)) || !opt_no_effects) then - [DEF_val (LB_aux (LB_val (tpat, inferred_bind), (l, None)))], env + [DEF_val (LB_aux (LB_val (tpat, inferred_bind), (l, None)))], Env.add_toplevel_lets (pat_ids tpat) env else typ_error env l ("Top-level definition with effects " ^ string_of_effect (effect_of inferred_bind)) end diff --git a/src/type_check.mli b/src/type_check.mli index ba7521fa..bd4c88dc 100644 --- a/src/type_check.mli +++ b/src/type_check.mli @@ -171,6 +171,8 @@ module Env : sig up the type without any flow typing modifiers. *) val lookup_id : ?raw:bool -> id -> t -> typ lvar + val get_toplevel_lets : t -> IdSet.t + val is_union_constructor : id -> t -> bool (** Check if the id is both a constructor, and the only constructor of that @@ -189,7 +191,7 @@ module Env : sig val expand_constraint_synonyms : t -> n_constraint -> n_constraint val expand_nexp_synonyms : t -> nexp -> nexp - + val expand_synonyms : t -> typ -> typ (** Expand type synonyms and remove register annotations (i.e. register<t> -> t)) *) diff --git a/src/value.ml b/src/value.ml index 261b0f4e..843a943b 100644 --- a/src/value.ml +++ b/src/value.ml @@ -343,6 +343,10 @@ let value_modulus = function | [v1; v2] -> V_int (Sail_lib.modulus (coerce_int v1, coerce_int v2)) | _ -> failwith "value modulus" +let value_abs_int = function + | [v] -> V_int (Big_int.abs (coerce_int v)) + | _ -> failwith "value abs_int" + let value_add_vec_int = function | [v1; v2] -> mk_vector (Sail_lib.add_vec_int (coerce_bv v1, coerce_int v2)) | _ -> failwith "value add_vec_int" @@ -668,6 +672,7 @@ let primops = ("shl_int", value_shl_int); ("max_int", value_max_int); ("min_int", value_min_int); + ("abs_int", value_abs_int); ("add_vec_int", value_add_vec_int); ("sub_vec_int", value_sub_vec_int); ("add_vec", value_add_vec); diff --git a/test/typecheck/pass/Replicate/v2.expect b/test/typecheck/pass/Replicate/v2.expect index 0dec309f..6ca2fc40 100644 --- a/test/typecheck/pass/Replicate/v2.expect +++ b/test/typecheck/pass/Replicate/v2.expect @@ -2,7 +2,7 @@ Type error: [[96mReplicate/v2.sail[0m]:10:4-30 10[96m |[0m replicate_bits(x, 'N / 'M) [91m |[0m [91m^------------------------^[0m - [91m |[0m Tried performing type coercion from {('ex42# : Int), true. vector(('M * 'ex42#), dec, bit)} to vector('N, dec, bit) on replicate_bits(x, div_int(__id(N), bitvector_length(x))) + [91m |[0m Tried performing type coercion from {('ex41# : Int), true. vector(('M * 'ex41#), dec, bit)} to vector('N, dec, bit) on replicate_bits(x, div_int(__id(N), bitvector_length(x))) [91m |[0m Coercion failed because: [91m |[0m Mismatched argument types in subtype check [91m |[0m diff --git a/test/typecheck/pass/existential_ast.sail b/test/typecheck/pass/existential_ast.sail new file mode 100644 index 00000000..37cf2378 --- /dev/null +++ b/test/typecheck/pass/existential_ast.sail @@ -0,0 +1,54 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +type regno = range(0, 31) + +union ast = { + Ctor1 : {'d, datasize('d). (bits(4), int('d), bits(4))}, + Ctor2 : {'d, datasize('d). (regno, int('d), bits(4))} +} + +val decode : bits(16) -> option(ast) + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000110) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + y : {'d, datasize('d). (bits(4), int('d), bits(4))} = (a, x, c); + + Some(Ctor1(y)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000101) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + let y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast/v1.expect b/test/typecheck/pass/existential_ast/v1.expect new file mode 100644 index 00000000..f743abb6 --- /dev/null +++ b/test/typecheck/pass/existential_ast/v1.expect @@ -0,0 +1,6 @@ +Type error: +[[96mexistential_ast/v1.sail[0m]:46:7-21 +46[96m |[0m Some(Ctor2(y, x, c)) + [91m |[0m [91m^------------^[0m + [91m |[0m No valid casts resulted in unification + [91m |[0m diff --git a/test/typecheck/pass/existential_ast/v1.sail b/test/typecheck/pass/existential_ast/v1.sail new file mode 100644 index 00000000..935313f7 --- /dev/null +++ b/test/typecheck/pass/existential_ast/v1.sail @@ -0,0 +1,47 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +type regno = range(0, 31) + +union ast = { + Ctor1 : {'d, datasize('d). (bits(4), int('d), bits(4))}, + Ctor2 : {'d, datasize('d). (regno, int('d), bits(4))} +} + +val decode : bits(16) -> option(ast) + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000110) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + y : {'d, datasize('d). (bits(4), int('d), bits(4))} = (a, x, c); + + Some(Ctor1(y)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000101) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + let y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a @ 0b01); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast/v2.expect b/test/typecheck/pass/existential_ast/v2.expect new file mode 100644 index 00000000..20738cd8 --- /dev/null +++ b/test/typecheck/pass/existential_ast/v2.expect @@ -0,0 +1,6 @@ +Type error: +[[96mexistential_ast/v2.sail[0m]:39:7-21 +39[96m |[0m Some(Ctor2(y, x, c)) + [91m |[0m [91m^------------^[0m + [91m |[0m No valid casts resulted in unification + [91m |[0m diff --git a/test/typecheck/pass/existential_ast/v2.sail b/test/typecheck/pass/existential_ast/v2.sail new file mode 100644 index 00000000..fd272dbb --- /dev/null +++ b/test/typecheck/pass/existential_ast/v2.sail @@ -0,0 +1,54 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +type regno = range(0, 30) + +union ast = { + Ctor1 : {'d, datasize('d). (bits(4), int('d), bits(4))}, + Ctor2 : {'d, datasize('d). (regno, int('d), bits(4))} +} + +val decode : bits(16) -> option(ast) + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000110) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + y : {'d, datasize('d). (bits(4), int('d), bits(4))} = (a, x, c); + + Some(Ctor1(y)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000101) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + let y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast/v3.expect b/test/typecheck/pass/existential_ast/v3.expect new file mode 100644 index 00000000..1b6239bb --- /dev/null +++ b/test/typecheck/pass/existential_ast/v3.expect @@ -0,0 +1,7 @@ +Type error: +[[96mexistential_ast/v3.sail[0m]:26:7-21 +26[96m |[0m Some(Ctor1(a, x, c)) + [91m |[0m [91m^------------^[0m + [91m |[0m Could not resolve quantifiers for Ctor1 + [91m |[0m [94m*[0m datasize('ex59#) + [91m |[0m diff --git a/test/typecheck/pass/existential_ast/v3.sail b/test/typecheck/pass/existential_ast/v3.sail new file mode 100644 index 00000000..1bacbf80 --- /dev/null +++ b/test/typecheck/pass/existential_ast/v3.sail @@ -0,0 +1,54 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +type regno = range(0, 31) + +union ast = { + Ctor1 : {'d, datasize('d). (bits(4), int('d), bits(4))}, + Ctor2 : {'d, datasize('d). (regno, int('d), bits(4))} +} + +val decode : bits(16) -> option(ast) + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000110) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + y : {'d, datasize('d). (bits(4), int('d), bits(4))} = (a, x, c); + + Some(Ctor1(y)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + x : {|16, 32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000101) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + let y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a @ 0b0); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + y = unsigned(a); + x : {|32, 64|} = if b == 0b0 then 32 else 64; + + Some(Ctor2(y, x, c)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast2.sail b/test/typecheck/pass/existential_ast2.sail new file mode 100644 index 00000000..f15d1f57 --- /dev/null +++ b/test/typecheck/pass/existential_ast2.sail @@ -0,0 +1,28 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +type regno = range(0, 31) + +union ast = { + Ctor1 : {'d, datasize('d). (nat, int('d), bits(4))}, + Ctor2 : {'d, datasize('d). (int, int('d), bits(4))}, +} + +val decode : bits(16) -> option(ast) + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000110) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + let a = unsigned(a); + + Some(Ctor1(a, x, c)) +} + +function clause decode(a : bits(4) @ b : bits(1) @ c : bits(4) @ 0b0000111) = { + let x : {|32, 64|} = if b == 0b0 then 32 else 64; + let a = unsigned(a); + + Some(Ctor2(a, x, c)) +} diff --git a/test/typecheck/pass/existential_ast3.sail b/test/typecheck/pass/existential_ast3.sail new file mode 100644 index 00000000..971b919c --- /dev/null +++ b/test/typecheck/pass/existential_ast3.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (32, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v1.expect b/test/typecheck/pass/existential_ast3/v1.expect new file mode 100644 index 00000000..a1975425 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v1.expect @@ -0,0 +1,20 @@ +Type error: +[[96mexistential_ast3/v1.sail[0m]:17:48-65 +17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a)); + [91m |[0m [91m^---------------^[0m + [91m |[0m Tried performing type coercion from (int(33), range(0, (2 ^ 5 - 1))) to {('d : Int) ('n : Int), (datasize('d) & (0 <= 'n & ('n + 1) <= 'd)). (int('d), int('n))} on (33, unsigned(a)) + [91m |[0m Coercion failed because: + [91m |[0m (int(33), int('ex62#)) is not a subtype of (int('ex57#), int('ex58#)) + [91m |[0m [[96mexistential_ast3/v1.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex57# bound here + [91m |[0m [[96mexistential_ast3/v1.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex58# bound here + [91m |[0m [[96mexistential_ast3/v1.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex62# bound here + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v1.sail b/test/typecheck/pass/existential_ast3/v1.sail new file mode 100644 index 00000000..05e13181 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v1.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v2.expect b/test/typecheck/pass/existential_ast3/v2.expect new file mode 100644 index 00000000..1ac6c87c --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v2.expect @@ -0,0 +1,20 @@ +Type error: +[[96mexistential_ast3/v2.sail[0m]:17:48-65 +17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a)); + [91m |[0m [91m^---------------^[0m + [91m |[0m Tried performing type coercion from (int(31), range(0, (2 ^ 5 - 1))) to {('d : Int) ('n : Int), (datasize('d) & (0 <= 'n & ('n + 1) <= 'd)). (int('d), int('n))} on (31, unsigned(a)) + [91m |[0m Coercion failed because: + [91m |[0m (int(31), int('ex62#)) is not a subtype of (int('ex57#), int('ex58#)) + [91m |[0m [[96mexistential_ast3/v2.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex57# bound here + [91m |[0m [[96mexistential_ast3/v2.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex58# bound here + [91m |[0m [[96mexistential_ast3/v2.sail[0m]:17:48-65 + [91m |[0m 17[96m |[0m if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a)); + [91m |[0m [93m |[0m [93m^---------------^[0m + [91m |[0m [93m |[0m 'ex62# bound here + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v2.sail b/test/typecheck/pass/existential_ast3/v2.sail new file mode 100644 index 00000000..77fc14c6 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v2.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v3.expect b/test/typecheck/pass/existential_ast3/v3.expect new file mode 100644 index 00000000..05dcd0a1 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v3.expect @@ -0,0 +1,7 @@ +Type error: +[[96mexistential_ast3/v3.sail[0m]:25:9-40 +25[96m |[0m Some(Ctor(64, unsigned(0b0 @ b @ a))) + [91m |[0m [91m^-----------------------------^[0m + [91m |[0m Could not resolve quantifiers for Ctor + [91m |[0m [94m*[0m (datasize(64) & (0 <= 'ex78# & ('ex78# + 1) <= 64)) + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v3.sail b/test/typecheck/pass/existential_ast3/v3.sail new file mode 100644 index 00000000..53a55109 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v3.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (32, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(0b0 @ b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v4.expect b/test/typecheck/pass/existential_ast3/v4.expect new file mode 100644 index 00000000..3de8b154 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v4.expect @@ -0,0 +1,12 @@ +Type error: +[[96mexistential_ast3/v4.sail[0m]:36:18-20 +36[96m |[0m if is_64 then 64 else 32; + [91m |[0m [91m^^[0m + [91m |[0m Tried performing type coercion from int(64) to {('d : Int), (('is_64 & 'd == 63) | (not('is_64) & 'd == 32)). int('d)} on 64 + [91m |[0m Coercion failed because: + [91m |[0m int(64) is not a subtype of {('d : Int), (('is_64 & 'd == 63) | (not('is_64) & 'd == 32)). int('d)} + [91m |[0m [[96mexistential_ast3/v4.sail[0m]:34:6-12 + [91m |[0m 34[96m |[0m let 'is_64 = b == 0b0; + [91m |[0m [93m |[0m [93m^----^[0m + [91m |[0m [93m |[0m 'is_64 bound here + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v4.sail b/test/typecheck/pass/existential_ast3/v4.sail new file mode 100644 index 00000000..c2f03a86 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v4.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (32, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 63) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v5.expect b/test/typecheck/pass/existential_ast3/v5.expect new file mode 100644 index 00000000..da686f6a --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v5.expect @@ -0,0 +1,12 @@ +Type error: +[[96mexistential_ast3/v5.sail[0m]:37:50-65 +37[96m |[0m let n : range(0, 'datasize - 2) = if is_64 then unsigned(b @ a) else unsigned(a); + [91m |[0m [91m^-------------^[0m + [91m |[0m Tried performing type coercion from range(0, (2 ^ (1 + 5) - 1)) to range(0, ('datasize - 2)) on unsigned(bitvector_concat(b, a)) + [91m |[0m Coercion failed because: + [91m |[0m range(0, (2 ^ (1 + 5) - 1)) is not a subtype of range(0, ('datasize - 2)) + [91m |[0m [[96mexistential_ast3/v5.sail[0m]:35:6-15 + [91m |[0m 35[96m |[0m let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + [91m |[0m [93m |[0m [93m^-------^[0m + [91m |[0m [93m |[0m 'datasize bound here + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v5.sail b/test/typecheck/pass/existential_ast3/v5.sail new file mode 100644 index 00000000..5a34dd32 --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v5.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (32, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize - 2) = if is_64 then unsigned(b @ a) else unsigned(a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/existential_ast3/v6.expect b/test/typecheck/pass/existential_ast3/v6.expect new file mode 100644 index 00000000..696f634a --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v6.expect @@ -0,0 +1,12 @@ +Type error: +[[96mexistential_ast3/v6.sail[0m]:37:71-86 +37[96m |[0m let n : range(0, 'datasize - 1) = if is_64 then unsigned(b @ a) else unsigned(b @ a); + [91m |[0m [91m^-------------^[0m + [91m |[0m Tried performing type coercion from range(0, (2 ^ (1 + 5) - 1)) to range(0, ('datasize - 1)) on unsigned(bitvector_concat(b, a)) + [91m |[0m Coercion failed because: + [91m |[0m range(0, (2 ^ (1 + 5) - 1)) is not a subtype of range(0, ('datasize - 1)) + [91m |[0m [[96mexistential_ast3/v6.sail[0m]:35:6-15 + [91m |[0m 35[96m |[0m let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + [91m |[0m [93m |[0m [93m^-------^[0m + [91m |[0m [93m |[0m 'datasize bound here + [91m |[0m diff --git a/test/typecheck/pass/existential_ast3/v6.sail b/test/typecheck/pass/existential_ast3/v6.sail new file mode 100644 index 00000000..87496c3d --- /dev/null +++ b/test/typecheck/pass/existential_ast3/v6.sail @@ -0,0 +1,50 @@ +default Order dec + +$include <prelude.sail> + +type datasize('n: Int) -> Bool = 'n in {32, 64} + +union ast = { + Ctor : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} +} + +val decode : bits(16) -> option(ast) + +// Can have a constrained pair + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then (64, unsigned(b @ a)) else (32, unsigned(a)); + Some(Ctor(datasize, n)) +} + +// Or just lift the function body into the body if the if for flow typing + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + if b == 0b0 then { + Some(Ctor(64, unsigned(b @ a))) + } else { + Some(Ctor(32, unsigned(a))) + } +} + +// Or use boolean constraint + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let 'is_64 = b == 0b0; + let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} = + if is_64 then 64 else 32; + let n : range(0, 'datasize - 1) = if is_64 then unsigned(b @ a) else unsigned(b @ a); + None() +} + +// Other variants + +function clause decode(a : bits(5) @ b : bits(1) @ 0b0000011111) = { + let (datasize, n) : {'d 'n, datasize('d) & 0 <= 'n < 'd. (int('d), int('n))} = + if b == 0b0 then { + let c = unsigned(b @ a); + (64, c) + } else (32, unsigned(a)); + Some(Ctor(datasize, n)) +}
\ No newline at end of file diff --git a/test/typecheck/pass/if_infer/v1.expect b/test/typecheck/pass/if_infer/v1.expect index c8217478..c3b453f2 100644 --- a/test/typecheck/pass/if_infer/v1.expect +++ b/test/typecheck/pass/if_infer/v1.expect @@ -5,8 +5,8 @@ Type error: [91m |[0m No overloading for vector_access, tried: [91m |[0m [94m*[0m bitvector_access [91m |[0m Could not resolve quantifiers for bitvector_access - [91m |[0m [94m*[0m (0 <= 'ex40# & ('ex40# + 1) <= 3) + [91m |[0m [94m*[0m (0 <= 'ex39# & ('ex39# + 1) <= 3) [91m |[0m [94m*[0m plain_vector_access [91m |[0m Could not resolve quantifiers for plain_vector_access - [91m |[0m [94m*[0m (0 <= 'ex43# & ('ex43# + 1) <= 3) + [91m |[0m [94m*[0m (0 <= 'ex42# & ('ex42# + 1) <= 3) [91m |[0m diff --git a/test/typecheck/pass/if_infer/v2.expect b/test/typecheck/pass/if_infer/v2.expect index f0c2fab3..ba2ad410 100644 --- a/test/typecheck/pass/if_infer/v2.expect +++ b/test/typecheck/pass/if_infer/v2.expect @@ -5,8 +5,8 @@ Type error: [91m |[0m No overloading for vector_access, tried: [91m |[0m [94m*[0m bitvector_access [91m |[0m Could not resolve quantifiers for bitvector_access - [91m |[0m [94m*[0m (0 <= 'ex40# & ('ex40# + 1) <= 4) + [91m |[0m [94m*[0m (0 <= 'ex39# & ('ex39# + 1) <= 4) [91m |[0m [94m*[0m plain_vector_access [91m |[0m Could not resolve quantifiers for plain_vector_access - [91m |[0m [94m*[0m (0 <= 'ex43# & ('ex43# + 1) <= 4) + [91m |[0m [94m*[0m (0 <= 'ex42# & ('ex42# + 1) <= 4) [91m |[0m |
